如何在熊猫数据框中将两列合并为一列

时间:2018-12-13 16:28:29

标签: 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值。

谢谢。

2 个答案:

答案 0 :(得分:4)

也许您可以使用:

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

答案 1 :(得分:1)

import numpy as np
df['C'] = np.where(df['A']>df['B'], df['A'], df['B'])