python之数据清洗脚本

#coding=utf-8
import numpy as np
import pandas as pd
na_list=['NO CLUE','N/A','0']#na包含的类型
data=pd.read_csv('311-service-requests.csv',na_values=na_list,dtype={'Incident Zip':str})#列值数据类型设置为字符串
#print(data['Incident Zip'].head())#--查看前几行,不改变源数据
#data['Incident Zip'].unique()#--查看唯一值,不改变源数据
#data['Incident Zip'][data['Incident Zip'].str.len()>5]#查看元素长度大于5的元素,不改变源数据
data['Incident Zip']=data['Incident Zip'].str.slice(0,5)#源数据重新赋值,改变源数据
#print(data['Incident Zip'])
data.loc[data['Incident Zip']=='00000','Incident Zip']=np.nan#值为0的元素设为nan,loc改变源数据
unique_zip=data['Incident Zip'].fillna(False).unique().astype('str')#fillna(Flase)
unique_zip.sort()#排序,改变源数据
#print(unique_zip)
zips=data['Incident Zip']
is_close=zips.str.startswith('0')|zips.str.startswith('1')#取字符传以1或0开头的元素
is_far=~(is_close)&zips.notna()#~表示反条件,即不以0或1开头且不为空的元素
print(data[is_far]['Incident Zip'])#花式索引

猜你喜欢

转载自blog.csdn.net/YeChao3/article/details/83902487
今日推荐