如何在检查 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
我是一名优秀的程序员,十分优秀!