python数据清洗函数 python做数据清洗

python爬虫怎么清洗最近学习python网络数据获?。?看到了关于数据的清洗,觉得很好用 , 现贴出代码,权当记录 。
# Python 数据清洗
#cleanInput() 功能:
#输入input , 
【python数据清洗函数 python做数据清洗】#清除input中的'\n', 多余空格 , 文献标记[ ],删除单个字符(除i/a 外),转化为utf-8编码格式以消除转义字符,
#输出2-grams列表 ngrams
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import string
def cleanInput(input):
input = re.sub('\n'," ",input)
input = re.sub('
[0?9]?
',"",input)
input = re.sub(' +'," ",input)
input = bytes(input,'UTF-8')
input = input.decode("ascii", "ignore")
cleanInput = []
input = input.split(' ')
for item in input:
item = item.strip(string.punctuation) #删除标点符号
if len(item)1 or (item.lower() == 'a' or item.lower()=='i'):
cleanInput.append(item)
return cleanInput
def ngrams(input,n):
input = cleanInput(input)
output = []
for i in range(len(input)-n+1):
output.append(input[i:i+n])
return output
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('重复python数据清洗函数的数据集一共多少行:',len(repeat))
unique = repeat.drop_duplicates()
print('去重后python数据清洗函数的数据集一共多少行python数据清洗函数:',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文件里面

推荐阅读