加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:46:12 所属栏目:Python 来源:网络整理
导读:假设我有一个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 但似乎没有用.
假设我有一个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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读