【问题标题】:Merging multiple dataframe columns into one using for loop使用for循环将多个数据框列合并为一个
【发布时间】:2021-10-08 12:54:45
【问题描述】:

下面是我正在使用的脚本

dfs = [df2,df3,df4,df5,df6]
for i in dfs:
    df_merge = pd.merge(df1,i,how='left',on='Date')
print("Shape of df_merge = ",df_merge.shape)

让我们假设每个单独的数据帧的形状是 (100,2)。 “日期”是所有列中的通用列。使用上述脚本并打印后,我得到了 (100,3) 的形状,即只有 df6 与 df1 合并。我需要将所有内容合并为一个。任何建议将不胜感激?

【问题讨论】:

    标签: python pandas dataframe join merge


    【解决方案1】:

    这是因为您将所有内容都保存在 df_merge 中。 df_merge 始终是最新合并的,而不是所有合并数据帧的总和。

    我建议先将 df_merge 设置为一个值,像这样。

    dfs = [df2,df3,df4,df5,df6]
    df_merge = df1
    for i in dfs:
        df_merge = pd.merge(df_merge,i,how='left',on='Date')
    print("Shape of df_merge = ",df_merge.shape)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-25
      • 2021-02-23
      • 1970-01-01
      • 2021-09-23
      • 2022-07-19
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      相关资源
      最近更新 更多