【问题标题】:Python Merge Two DataFrames Only Retrieve Specific Columns in the ResultPython合并两个DataFrames只检索结果中的特定列
【发布时间】:2021-03-21 11:37:37
【问题描述】:

嗨 - 我想合并两个 python 数据帧,但不想将两个数据帧中的所有列都带到我的新数据帧中。在下图中,如果我在“acct”上加入 df1 和 df2,并想从 df1 中带回所有列,并且只从 df2 中带回“实体”,我将如何写?我不想删除任何列,所以进行正常合并不是我想要的。任何人都可以帮忙吗?谢谢!

【问题讨论】:

    标签: python pandas dataframe merge


    【解决方案1】:

    执行合并操作时,您可以修改函数中的数据框对象,这意味着基础对象 df1 和 df2 保持不变。一个示例如下所示:

    df_result = df1.merge(df2[ ['acct','entity'] ], on ='acct')
    

    这将让您在不修改任何原始数据框的情况下进行部分合并。

    【讨论】:

    • 感谢您的回复!另一个问题是,如果在上面的示例中连接列的名称不同,该怎么办。比如说,如果 df1 有一个列 'acct' 而 df2 有 'account',但我仍然只想恢复某些列,就像我原来的帖子一样。再次感谢!
    • 如果要加入的列名不同,可以这样做:df_result = df1.merge(df2[['account','entity']], left_on ='acct', right_on='account')
    猜你喜欢
    • 2018-05-16
    • 2020-09-04
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多