2021-09-23

学习笔记侵权删

pandas求累积值
chengji=[[100,95,100,99],[90,98,99,100],[88,95,98,88],[99,98,97,87],[96.5,90,96,85],[94,94,93,91]]
data=pd.DataFrame(chengji,columns=['语文','类别','数学','政治'])
data['合计']=data.apply(lambda x: x.sum(),axis=1)  #按列相加各行数
print('合计',data)
data.loc['小计']=data.apply(lambda x: x.sum(),axis=0) #按行相加各列,增加小计,是字符,序列变object
print('小计',data)
data['累加值']=0
data.drop('小计',inplace=True)
print('删除小计',data)
data.sort_index(inplace=True)
print('重排序列',data)
data.astype(float)
data['累加值']=data['合计'].cumsum()
print('累计data',data)
data.sort_values(by=['合计','语文'] , ascending=[False,False],inplace=True)  #按多列值排序,ascending=False降序
#data.sort_values(by='语文',axis=1,ascending=True, inplace=True, na_position='last') 
#重建索引会把原索引值变成object
data['排名']=data['合计'].rank(ascending=0,method='min')
print (data)
data.sort_index(inplace=True)
print(data)
data =  data.reset_index(drop=True)
data.loc[1:3,'语文']=""
data.loc[4,'语文']=None  #空值为none 或np.nan
print(data)

print(data.dtypes)
data.fillna(value=0,inplace=True)  
# "所有值全为缺失值才删除 df.dropna(how='all')
# axis:维度,axis=0表示index行,axis=1表示columns列,默认为0
#how:"all"表示这一行或列中的元素全部缺失(为nan)才删除这一行或列,"any"表示这一行或列中只要有元素缺失,就删除这一行或列
#thresh:一行或一列中至少出现了thresh个才删除。
#subset:在某些列的子集中选择出现了缺失值的列删除,不在子集中的含有缺失值得列或行不会删除(有axis决定是行还是列)
#inplace:刷选过缺失值得新数据是存为副本还是直接在原数据上进行修改。
print('填充缺失值',data)
data.replace("",0,inplace=True) 
print('填充空值',data) 
print(data.loc[data.index==1,'累加值'])
print('类别数量',data['类别'])
print('类别=95',data.loc[data['类别']==95,'累加值'])
print(data.loc[:,'合计']-data.loc[:,'语文'])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值