【问题标题】:Pandas Merge two rows into a single row based on columnsPandas 根据列将两行合并为一行
【发布时间】:2019-01-11 10:11:32
【问题描述】:

我有 2 行看起来像这样,

------------------------------
DealName | Target | Acquirer |
-----------------------------
ABC-XYZ  | ABC    | None     |
------------------------------
ABC-XYZ  | None   | XYZ      |
------------------------------

我希望将它们合并为一个:

------------------------------
DealName | Target | Acquirer |
-----------------------------
ABC-XYZ  | ABC    | XYZ      |
------------------------------

不确定如何在 Pandas 中完成此操作。任何指针将不胜感激!提前致谢

【问题讨论】:

    标签: python python-2.7 pandas pandas-groupby pandasql


    【解决方案1】:

    IIUC

    df.replace('None','').groupby('DealName',as_index=False).agg(''.join)
    Out[25]: 
      DealName Target Acquirer
    0  ABC-XYZ    ABC      XYZ
    

    【讨论】:

    • df.replace('None','').groupby(['DealName'], as_index=False).agg('sum')
    • 谢谢。如果还有另外 10 列并且其中一些可能没有,这会起作用吗?
    猜你喜欢
    • 1970-01-01
    • 2022-01-13
    • 2021-12-02
    • 1970-01-01
    • 2017-03-30
    • 2020-08-18
    • 2017-07-03
    • 2021-12-27
    相关资源
    最近更新 更多