清洗数据函数python 清洗数据的方法

pythonq清洗数据集经典案例

####################读取数据======================================================

创新互联建站是一家集网站建设,陇南企业网站建设,陇南品牌网站建设,网站定制,陇南网站建设报价,网络营销,网络优化,陇南网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

import pandas as pd

import numpy as np

d1 = pd.read_excel('C:\Users\xn084037\Desktop\清洗数据集.xlsx',sheetname='一级流量')

d1.head(2)

d2 = pd.read_excel('C:\Users\xn084037\Desktop\清洗数据集.xlsx',sheetname='二级流量')

d2.head(2)

d3 = pd.read_excel('C:\Users\xn084037\Desktop\清洗数据集.xlsx',sheetname='三级流量')

d3.head(2)

##########################清洗------01增——拓展数据维度

df_concat = pd.concat([d1,d2,d3])

df_concat

h1 = pd.DataFrame({'语文':[93,80,85,76,58],'数学':[87,99,95,85,70],'英语':[80,85,97,65,88]},

index =['韩梅梅','李雪','李华','王明','铁蛋'])

h1

h2 = pd.DataFrame({'篮球':[93,80,85,76],'舞蹈':[87,99,95,85]},

index= ['李华','王明','铁蛋','刘强'])

h2

pd.merge(left=h1,right=h2,left_index=True,right_index=True,how='inner')

df_concat.dropna()

df_concat.dropna(subset = ['客单价'])

repeat = pd.concat([df_concat,df_concat])

print('重复的数据集一共多少行:',len(repeat))

unique = repeat.drop_duplicates()

print('去重后的数据集一共多少行:',len(unique))

unique

df_concat.drop_duplicates(subset='流量级别')

df_concat.drop_duplicates(subset='流量级别',keep='last')

******************03 查——基于条件查询*********************************

df_concat.loc[(df_concat['访客数']10000)(df_concat['流量级别']=='一级'),:]

sort_df= df_concat.sort_values('支付金额',ascending=False)

sort_df

*********************04 分——分组和切分************************************

df_concat.groupby('流量级别')

df_concat.groupby('流量级别').sum()

df_concat.groupby('流量级别').sum()

df_concat.groupby('流量级别')['访客数','支付金额'].sum()

df_concat.groupby('流量级别',as_index=False)['访客数','支付金额'].sum()

pd.cut(x,bins,right,labels)

pd.cut(x=df_concat['访客数'],bins=[0,100,1000,10000,100000])

df_concat['分类打标']= pd.cut(x=df_concat['访客数'],bins=[0,100,1000,10000,100000],

right=False,labels=['辣鸡','百级','千级','万级'])

df_concat

###################Pandas将多个Sheet写入到本地同一Excel文件中

import pandas as pd #读取两个表格data1=pd.read_excel('文件路径')

data2=pd.read_excel('C:\Users\xn084037\Desktop\副本三代核心系统入账金额异常结果数据.xlsx')#将两个表格输出到一个excel文件里面

data1=pd.read_excel('C:\Users\xn084037\Desktop\副本三代核心系统入账金额.xlsx')#将两个表格输出到一个excel文件里面

writer=pd.ExcelWriter('D:新表.xlsx')

data1.to_excel(writer,sheet_name='sheet1')

data2.to_excel(writer,sheet_name='sheet2') #必须运行

writer.save()#不然不能输出到本地writer.save()

Python第19课:数据清洗之去错、去空、去重

Python 第19课:数据清洗之去错、去空、去重

时间 2019-02-01 下午3:30

主讲 刘培富

地点 四楼电教室

数据清洗是数据治理的关键环节,是指对获取的原始数据(也称“脏数据”)进行审查、校验、加工的过程,目的在于删除重复信息、纠正错误信息,保持数据一致性。

一般来说,数据清洗,主要是对数据进行去错、去空、去重处理。

针对一张包含姓名、身份证号码、车牌号码的数据表,建立纠错规则如下:

1.车牌号既不包含汉字赣,且不包含汉字饶。

2.身份证号码的年份既不等于19也不等于20,身份证号码的月份大于12,身份证号码的日期大于31。

3.身份证号码位数不等于18。

4.姓名的长度小于等于1。

二、去空

对于关键性数据,不允许为空,对于这类数据,要查询是否存在空值。

三、去重

在一张表中,有的数据列允许重复,有的数据列则不允许重复。例如,对于一张车主信息表来说,姓名、身份证号可以重复,因为存在一人登记多辆车的情形,这种重复,不能认为是错误。但是,车牌号则不允许重复,否则就存在业务逻辑的错误。所以,针对车牌号数据列,要进行去重。

通过以下SQL语句,可以列出重复的数据:

综上,数据清洗,既要懂技术,更要懂业务,否则无法正确制定清洗规则,导致数据清洗流于形式,达不到清洗的效果。

用python 清理数据

简单来说,比如这样:

def clear_line(ln):

if not ln.startsWith('W:'): return None

if ln=='W:': return None

# parse this line

# replace char

ln = ln.replace('"', '')

# other replace

# ...

return ln

filename = 'xxx.txt'

lines = open(filename).readlines()

cleared = []

for line in lines:

nl = clear_line(line)

if nl is not None: cleared.append(nl)

open('cleared-'+filename, 'w').write('\n'.join(cleared))

假设需要转换的文件是xxx.txt。

类似替换双引号为空白字符那里,后边再继续增加替换的规则,就可以简单的处理这个文本了。

程序会最终输出一个cleared-xxx.txt。

如果对代码还是不太懂,建议最好学一下Python学习手册,这个还是很简单的。

python数据清洗excel

python清洗excel的数据还是很简单的

这里就列举例子说一下

这是原始数据,这里要处理的是地区和薪水两个字段。

主要把薪资处理成以千/月为单位。保留城市。

处理后的数据:


文章标题:清洗数据函数python 清洗数据的方法
转载来源:http://azwzsj.com/article/docedpd.html