假设我有一个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)