gpt4 book ai didi

python - 根据数据框中组内的条件替换值

转载 作者:行者123 更新时间:2023-12-04 13:06:57 26 4
gpt4 key购买 nike

我的数据框是这样的

df

group cat_col
g1 r
g1 nr
g1 r
g1 nr
g2 nr
g2 nr

只要组中至少有 1 个“r”,我就需要用“r”替换“nr”。在这种情况下,我需要它返回:

df_new

group cat_col
g1 r
g1 r
g1 r
g1 r
g2 nr
g2 nr

我知道这个问题很初级,但我被困了几个小时,但我没有弄清楚如何解决它。有人知道吗?

最佳答案

使用groupby.transform:

df.cat_col.groupby(df.group).transform(lambda g: 'r' if g.eq('r').any() else g)

0 r
1 r
2 r
3 r
4 nr
5 nr
Name: cat_col, dtype: object

如果只需要将nr替换为r:

df.cat_col = df.cat_col.groupby(df.group).transform(
lambda g: g.replace('nr', 'r') if g.eq('r').any() else g
)

关于python - 根据数据框中组内的条件替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68977780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com