首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >过滤、替换和重新添加一列以便在熊猫中以df为基础

过滤、替换和重新添加一列以便在熊猫中以df为基础
EN

Stack Overflow用户
提问于 2022-07-05 13:07:12
回答 2查看 24关注 0票数 0

想象一下下面的数据

基数据

代码语言:javascript
运行
复制
df  = pd.from_dict({'a': [1,2,1,2,1]
 'b': [1,1,3,3,1]
})

然后,我取起a列,并根据b列值替换几个值。

代码语言:javascript
运行
复制
df.loc[df['b']== 3]['a'].replace(2,1)

我如何才能将我的列重新附加到我的原始df,但只更改那些特定的过滤值?

通缉结果

代码语言:javascript
运行
复制
df  = pd.from_dict({'a': [1,2,1,1,1]
     'b': [1,1,3,3,1]
    })
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-05 13:12:07

处理update

代码语言:javascript
运行
复制
df.update(df.loc[df['b']== 3,['a']].replace(2,1))
df
Out[354]: 
     a  b
0  1.0  1
1  2.0  1
2  1.0  3
3  1.0  3
4  1.0  1
票数 1
EN

Stack Overflow用户

发布于 2022-07-05 13:13:56

你可以试试df.mask

代码语言:javascript
运行
复制
df['a'] = df['a'].mask(df['a'].eq(2) & df['b'].eq(3), 1)
代码语言:javascript
运行
复制
print(df)

   a  b
0  1  1
1  2  1
2  1  3
3  1  3
4  1  1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72869989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档