gpt4 book ai didi

python - 如何根据在两个不同列上设置的某些条件填充 pandas 数据框中的列?

转载 作者:太空宇宙 更新时间:2023-11-03 23:52:52 25 4
gpt4 key购买 nike

假设我有一个像下面这样的 df:

 A     B    C
null 0 null
null 4 null
5 6 null
0 0 0

现在,我想根据 A 列和 B 列的条件填写我的 C 列:仅当 A 列中 B 列的“0”为空时,才让 C 列为空,否则在所有其他情况下将 B 列复制到 C 列。这意味着我希望我的 df 看起来像这样:

 A     B    C
null 0 null
null 4 4
5 6 6
0 0 0

我怎样才能在 Pandas 中实现这一点?任何帮助将不胜感激,因为我是 python 和 pandas 编程的新手。

最佳答案

使用numpy.where条件由 & 链接,用于按位与:

import numpy as np

m1 = df.A.isna()
m2 = df.B.eq(0)
df['C'] = np.where(m1 & m2, np.nan, df.B)
print (df)
A B C
0 NaN 0 NaN
1 NaN 4 4.0
2 5.0 6 6.0
3 0.0 0 0.0

关于python - 如何根据在两个不同列上设置的某些条件填充 pandas 数据框中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58750784/

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