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'])#花式索引

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值