首页 > 解决方案 > 如何在熊猫数据框中将两列合并为一列

问题描述

想在特定条件下将两列合并为一列。
我的数据如下

idx    A    B
0      0.5  1.2
1      1.1  0.7
2      0.1  0.3
3      2.0  0.9

使用 Pandas 数据框,我想在条件中创建 C 列。

  1. 如果 A 列 > B 列,则 C 列获取 A 列的值。
  2. 如果 B 列 > A 列,则 C 列获取 B 列的值。

结果,我期望这样。

idx    A    B    C
0      0.5  1.2  1.2(B data)
1      1.1  0.7  1.1(A data)
2      0.1  0.3  0.3(B data)
3      2.0  0.9  2.0(A data)

我尝试了 .loc 函数,例如:
df['C'] = df.loc[df['A'] > df['B'], 'A']

但我无法替换或修改NanC 列中的值。

谢谢你。

标签: pythonpandas

解决方案


也许你可以使用:

df['C'] = df[['A', 'B']].max(axis=1)

推荐阅读