zoukankan      html  css  js  c++  java
  • Python数据清洗见闻

    事情是这样的:作为大数据专业学生,有一天老师突然给出了2个多G的csv文件。没做具体任务要求,算是拿着玩。

    第一个问题:各种常用文档编辑器都打不开这么大的文件

    解决:使用Emeditor,支持文本分段打开,绝活。

    第二个问题:对于数据实现简单清洗

               描述:老师给出的数据集与交通有关,于是乎其中少不了一个记录车辆速度的字段,虽然不知道单位,但我决定把速度>300的数据分离出来。

    解决:在学长的帮助下,用了十行python代码实现...

    具体步骤:使用Spyder,自带各种库。

    import pandas as pd    #导入pandas库,这是我们此次行动的主C
    import numpy as np
    
    # file_name = './gps.csv'
    # Data = pd.read_csv(file_name, encoding='utf-8', sep='	',
    # names=range(8),dtype=str)
    
    file_name = 'new.csv'        #数据集与python程序在同一文件下,故使用相对路径
    DataDF = pd.read_csv(file_name, names=range(7) ,header=None ,sep='	',encoding='utf-8')    #数据集没有列名,分隔符为制表符
    DataDF.columns = ['ID', 'Tim','lgd','ltd','dir','spe','f']#添加列名
    pd.set_option('display.max_rows', 10)#设置打印行数
    #pd.set_option('display.max_columns', None)
    np.set_printoptions(threshold=1e6)#设置输出的全部内容为1e6条,之后的省略
    
    #DataDF.dtypes查看数据类型
    #DataDF.shape查看多少行多少列
    #DataDF.isnull().sum().sort_values(ascending=False)查找缺失数据
    #DataDF.head()抽出一定数据查看
    #DataDF.info() 数据类型
    #print(DataDF)
    #print(DataDF.info)()
    #print(DataDF.shape)
    #subDataDF1=DataDF["spe"]切片投影
    querySer=DataDF.loc[:,'spe']>200
    #应用查询条件
    print('删除异常值前:',DataDF.shape)
    DataDF=DataDF.loc[querySer,:]
    print('删除异常值后:',DataDF.shape)
    #DataDF.to_csv('gps-ugly.csv')
    

      

  • 相关阅读:
    Elasticsearch学习之深入搜索三 --- best fields策略
    Elasticsearch学习之深入搜索二 --- 搜索底层原理剖析
    Elasticsearch学习之深入搜索一 --- 提高查询的精准度
    Elasticsearch学习之深入聚合分析五---案例实战
    Enigma Virtual Box:生成可执行文件。
    erlang的erl文件的编码方式
    Java相关术语 或者 组件命。
    pyqt5加载网路图片,不本地下载。
    Python3 的json 和 PHP的json
    python3 post方式上传文件。
  • 原文地址:https://www.cnblogs.com/thx2199/p/14656370.html
Copyright © 2011-2022 走看看