dataframe的apply(lambda x:)方法

dataframe df如图在这里插入图片描述
如想对df中所有取值为1的元素进行-1的操作,而不为1的值不变,则写程序:df = df.apply(lambda x:x-1 if x==1)
报错

更改程序为df['a'] = df['a'].apply(lambda x:x-1 if x==1)
依然报错

再更改为df['a'] = df['a'].apply(lambda x:x-1 if x==1 else x)
df变为下图,达到我们的目的
在这里插入图片描述
总结:该方法只能针对于dataframe的某一列有效,不能以整个dataframe为对象进行取值替换操作,并且必须写清楚else的情况。如若需要在整个dataframe上进行取值替换操作,可以写一个for循环

for i in df.columns:
	df[i] = df[i].apply(lambda x:x-1 if x==1 else x)

即可对整个dataframe进行取值替换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值