【问题标题】:How to merge two columns into one in pandas dataframe [duplicate]如何在熊猫数据框中将两列合并为一列[重复]
【发布时间】:2019-05-14 22:13:02
【问题描述】:

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

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 值。

谢谢。

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    也许你可以使用:

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

    【讨论】:

    • 有效!谢谢!
    【解决方案2】:
    import numpy as np
    df['C'] = np.where(df['A']>df['B'], df['A'], df['B'])
    

    【讨论】:

    • 它也有效!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 2015-02-03
    • 2018-12-18
    • 2017-08-02
    • 2021-07-28
    • 2019-09-27
    • 2021-03-06
    相关资源
    最近更新 更多