事情是这样的:作为大数据专业学生,有一天老师突然给出了2个多G的csv文件。没做具体任务要求,算是拿着玩。
第一个问题:各种常用文档编辑器都打不开这么大的文件
解决:使用Emeditor,支持文本分段打开,我愿称之为绝活。
第二个问题:对于数据实现简单清洗
描述:老师给出的数据集与交通有关,于是乎其中少不了一个记录车辆速度的字段,虽然不知道单位,但我决定把速度>300的数据分离出来。
解决:在学长的指引下,用了十行python代码解决。我愿称之为最强。
具体步骤:使用Spyder,自带各种库。
import pandas as pd #导入pandas库,这是我们此次行动的主Cimport numpy as np# file_name = './gps.csv'# Data = pd.read_csv(file_name, enCoding='utf-8', sep='\t',# names=range(8),dtype=str)file_name = 'new.csv' #数据集与python程序在同一文件下,故使用相对路径DataDF = pd.read_csv(file_name, names=range(7) ,header=None ,sep='\t',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')
总结
以上是内存溢出为你收集整理的Python数据清洗见闻全部内容,希望文章能够帮你解决Python数据清洗见闻所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)