使用for循环将多个数据框列合并为一个
Merging multiple dataframe columns into one using for loop
下面是我正在使用的脚本
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)。 'Date' 是所有的公共列。使用上面的脚本并打印后,我得到了 (100,3) 的形状,即只有 df6 与 df1 合并。我需要将所有内容合二为一。任何建议将不胜感激?
因为你保存了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)
下面是我正在使用的脚本
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)。 'Date' 是所有的公共列。使用上面的脚本并打印后,我得到了 (100,3) 的形状,即只有 df6 与 df1 合并。我需要将所有内容合二为一。任何建议将不胜感激?
因为你保存了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)