在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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句