返回 1) df = pd.DataFrame({'x1': {0: np.nan, 1: 2.0, 2:-6ren">
gpt4 book ai didi

python - 如何在一行中使用 "where "函数在 python 数据帧中根据条件传递常量值

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:23 27 4
gpt4 key购买 nike

如何在检查 x1 和 x2 之间的条件后将常量“1”传递给 X(如果 x1 == x2 => 返回 1)

df = pd.DataFrame({'x1': {0: np.nan, 1: 2.0, 2: 4.0, 3: 1, 4: 8.0}, 
'x2': {0: 3.0, 1: 2.0, 2: 2.0, 3: 5.0, 4: np.nan}})

x1 x2
0 NaN 3
1 2 2
2 4 2
3 1 5
4 8 NaN

如果我用

df['x'] = df['x1'].where((df["x1"]==df["x2"]),0)

x1 x2 x
0 NaN 3 0
1 2 2 2
2 4 2 0
3 1 5 0
4 8 NaN 0

在这里我会得到 'x1' 的值,其中 x1 == x2 ,但我想传递 1 的整数而不是 'x1' 我怎么能在这里完成这个?得到下面的结果?

     x1 x2  x
0 NaN 3 0
1 2 2 1
2 4 2 0
3 1 5 0
4 8 NaN 0

最佳答案

例如,如下;

>>> df['x'] = (df["x1"]==df["x2"]).astype(int)
>>> df
x1 x2 x
0 NaN 3 0
1 2 2 1
2 4 2 0
3 1 5 0
4 8 NaN 0

关于python - 如何在一行中使用 "where "函数在 python 数据帧中根据条件传递常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20409458/

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