编程语言
首页 > 编程语言> > Python数据清洗见闻

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='\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')

 

标签:DataDF,name,Python,shape,pd,print,见闻,csv,清洗
来源: https://www.cnblogs.com/thx2199/p/14656370.html