python - 根据 pandas 第三列中的条件在两列中的值之间进行选择

标签 python pandas if-statement lambda

如何使用 pandas 根据第三列中的条件在两列之间进行选择?

在 Excel 中我会使用类似的东西: NEW_COLUMN = IF(条件 == TRUE,第 1 列,第 2 列)。我无法使用 lambda 函数。

最佳答案

使用numpy.where :

df['NEW_COLUMN'] = np.where(CONDITION, df['COLUMN 1'] , df['COLUMN 2'])

示例:

df = pd.DataFrame({'COL':[4,5,4],
                   'COLUMN 1':[7,8,9],
                   'COLUMN 2':[1,3,5],})


df['NEW_COLUMN'] = np.where(df['COL'] == 4, df['COLUMN 1'] , df['COLUMN 2'])
print (df)
   COL  COLUMN 1  COLUMN 2  NEW_COLUMN
0    4         7         1           7
1    5         8         3           3
2    4         9         5           9

关于python - 根据 pandas 第三列中的条件在两列中的值之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49239270/

相关文章:

python - 如何在Python中用较小矩阵的项向量化填充较大矩阵

python - 在图像中找到最少数量的矩形

python - 如何在 Pandas 数据框中按行值对日期时间列进行排序?

java - 为什么返回 null 并分配给引用类型的三元条件表达式会导致 NullPointerException?

python - 为什么没有相当于 `collections.abc.ByteString` 的字符/代码点字符串?

machine-learning - sp_randint 是如何工作的?

python - pandas.DataFrame.round() 不会在所需位数后截断小数值

python - Pandas 和对象上的调用函数

javascript - 如何比较插件内部的 ID?

c++ - if 语句不起作用并被跳到 else 部分