python - 如何在 Pandas 数据框中将两列合并为一列

标签 python pandas

<分区>

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

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']

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

谢谢。

最佳答案

也许你可以使用:

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

关于python - 如何在 Pandas 数据框中将两列合并为一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53766191/

相关文章:

Pandas DataFrame 使用其他 DataFrame 更新列值

python - Pandas 将第二个最小值分配给列

python - 如何合并两个 pandas DataFrame 并保留重复值?

java - Word 拓扑部署错误

python - 将一个数组中的唯一值映射到另一个数组的相应总和

python - Pandas 根据日期加入

python - 如何替换 Pandas 数据框中特定索引处的字符串

python - pyQt "flush"等效项

javascript - onclick 加载 {% include 'test.html' %}

python - OpenCV Traincascade XML文件错误