pandas 数据清洗

import pandas as pd
df=pd.read_excel('TB2018.xls')
#df['宝贝总数量']=df['宝贝总数量'].fillna(6)     #fillna()补齐缺失值
#df['宝贝总数量']=df['宝贝总数量'].bfill()     #ffill()用上一个值填充,bfill()用下一个值
print(df)
#缺失值查看与处理
#print(df.info())
#print(df.isnull())     #判断是否为空
#print(df.dropna())       #直接删除空值所在行      指定参数how='all'删除所有空行
#print(df[df['宝贝总数量'].notnull()])     #保留特定行
#重复值处理
#print(df.duplicated())         #判断每一行是否重复
#print(df.drop_duplicates())     #去除全部重复值
#print(df.drop_duplicates(['买家会员名']))     #去除指定列的重复值
#print(df.drop_duplicates(['买家会员名'],keep='last'))     #last保留重复行的最后一行,默认first保留第一个,false则去除全部
import pandas as pd
s1=pd.Series([11,22,33],index=[1,2,3])
print(s1)
#print(s1.reindex([1,2,3,4,5],fill_value=0))            #reindex更换索引   fill_value指定填充值,默认为NaN
#print(s1.reindex([1,2,3,4,5],method='bfill'))           #ffill向前填充,bfill向后填充
import pandas as pd
data=[[11,22,33],[44,55,66],[77,88,99]]
index=['a','b','c']
columns=['aaa','bbb','ccc']
df=pd.DataFrame(data=data,index=index,columns=columns)
print(df) 
#print(df.reindex(['a','b','c','d','e']))      #重新设置行索引,新索引名行值为NaN
#print(df.reindex(columns=['aaa','bbb','ccc','ddd']))     #columns设置列索引    可同时设置
import pandas as pd
df=pd.read_excel('1月.xlsx')
print(df.head(5))
#print(df.set_index(['买家会员名']).head(5))
#print(df.set_index(['买家会员名'],drop=True).head(5))     #将某列设置为行索引
#print(df.set_index(['买家会员名'],drop=False).head(5))    #true会删除该列,false保留,默认true

#数据清洗后设置连续索引
print(df.dropna().reset_index(drop=True).head(5))
import pandas as pd
df=pd.read_excel('mrbook.xlsx')
print(df)
#print(df.sort_values(by='销量',ascending=False))      #ture 升序,默认    false降序
#print(df.sort_values(by=['图书名称','销量']))
#df1=df.groupby(['类别'])['销量'].sum().reset_index()     #分组统计
#print(df1)
#print(df1.sort_values(by='销量').reset_index())
#df=dfrow.sort_values(by=0,axis=1)      #按行排列数据类型要一致
#数据排名
df=df.sort_values(by='销量')
df['顺序排名']=df['销量'].rank(method='max')
print(df[['图书名称','销量','顺序排名']])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值