gpt4 book ai didi

python - Pandas 数据框 : Change column values?

转载 作者:行者123 更新时间:2023-12-04 00:55:05 24 4
gpt4 key购买 nike

我有一个 df,其中两个列值具有 TrueFalseNaN

df

            a         b           c

0 a True NaN
1 b False True
2 c NaN False
3 d NaN NaN
4 e False NaN
5 f True False

我正在尝试转换列 bc 中的值。

如果 True 出现在一列中,另一列将是 False 如果 NaN 出现,则 False 发生变化。

False 类似。如果 NaN 出现在两列中。将两个值都更改为 False

结果 df:

            a         b           c

0 a True False
1 b False True
2 c True False
3 d False False
4 e False True
5 f True False

最佳答案

让我们尝试两步填充:

s = df[['b','c']]

# both are `NaN`, fill with `False`
df.loc[s.isna().all(1), ['b','c']] = False

# inverse the sum
sums = (1 - s.sum(1)).astype(bool)

# fill the remaining `NaN` with the inverse sum
df[['b','c']] = s.apply(lambda x: x.fillna(sums))

输出:

   a      b      c
0 a True False
1 b False True
2 c True False
3 d False False
4 e False True
5 f True False

关于python - Pandas 数据框 : Change column values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63123478/

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