python dataframe 替换_python – 在pandas dataframe列中有条件地替换值

假设我有一个prandas数据帧,其列值为年龄,如df.age = {25,35,76,21,23,30}

我想做一个像这样的inplace替换:

如果df.age> = 25且df.age< = 35:

用1替换该值

其他:

用0替换该值

我试过这个df [df.age> = 7.35和df.age< = 7.45,’age’] = 0

但似乎没有用.

最佳答案 您还可以创建一个函数来检查您的条件,并应用于数据框:

def condition(value):

if 25 <= value <= 35:

return 1

return 0

# stealing sample from @AnandSKumar because I'm lazy

In [32]: df

Out[32]:

age

0 25

1 35

2 76

3 21

4 23

5 30

In [33]: df['age'] = df['age'].apply(condition)

In [34]: df

Out[34]:

age

0 1

1 1

2 0

3 0

4 0

5 1

或者使用一个带lambda的衬垫:

df['age'] = df['age'].apply(lambda x: 1 if 25 <= x <= 35 else 0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值