• 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')
    

      

  • 相关阅读:
    PaaS 7层动态路由的若干实现
    05-OC对象的内存分析
    04-类与对象的练习(第二个OC的类)
    03-类的声明和实现(第一个OC的类)
    02-类与对象的关系
    01-面向对象和面向过程
    06-BOOL类型的使用
    05-初识OC多文件编程(第4个OC程序)
    04-初识OC多文件编程(第3个OC程序)
    03-第二个OC程序
  • 原文地址:https://www.cnblogs.com/thx2199/p/14656370.html
Copyright © 2020-2023  润新知