我有以下 df
| Col A | Col B
-----------------------
| Nan | 3144
| Nan | 3145
| 123 | 3246
| Nan | Nan
我想添加一个新的 C 列,逻辑如下:
如果 Col A 为空并且 Col B 填充了一些数据,则 A
否则,如果 A 列和 B 列有一些数据,或者两列都有空值,则 B。
所以结果应该是这样的。
| Col A | Col B | Col C
-------------------------------------
| Nan | 3144 | A
| Nan | 3145 | A
| 123 | 3246 | B
| Nan | Nan | B
我如何得到这个?对 Python 相当陌生
使用一个简单的条件来检查值是否为 NaN,然后使用 np.where 和条件“Col A 等于 Col B”。如果条件为 True,则返回 B,否则返回 'A'
m = df.isna()
np.where(m['Col A'].eq(m['Col B']), 'B', 'A')