【问题标题】:Using pandas to merge 2 dataframes that have a different number of rows使用 pandas 合并 2 个具有不同行数的数据框
【发布时间】:2015-09-05 17:54:35
【问题描述】:

我是这个和 python 的新手,所以请原谅这个问题的基本性。

我正在尝试合并 3 个不同的数据帧,每个数据帧都有不同的行数,我使用了这些命令

x = pd.merge(activated_at_df, spend_df)
x
all_dfs = pd.merge(x, df_rep)
all_dfs

例如 activated_at_df 和 spend_df 具有不同的行数。 activated_at_df 有 150k 行,spend_df 有 100k 行,所以我希望显示所有 150k 行并将没有信息的列(不在spend_df 中的 50k 行)空白。

它们都有唯一的标识符,id

所以我尝试了

x = pd.merge(activated_at_df, spend_df, on='id')
x

但这也没用

如果有人可以提供帮助,将不胜感激。谢谢!

【问题讨论】:

    标签: python pandas merge rows


    【解决方案1】:

    你需要做的:

    x = pd.merge(activated_at_df, spend_df, how='outer', on='id')
    

    注意how='outer',它执行完全外连接。更多信息请访问the documentation。

    【讨论】:

      【解决方案2】:

      这个问题可以从一个小例子中受益。听起来你可以使用 .concat():

      all_dfs = pd.concat([activated_at_df, spend_df], axis=1)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-03-21
        • 2018-08-06
        • 2019-12-16
        • 2019-10-22
        • 1970-01-01
        • 2021-08-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多