Zan*_*nam 3 python merge concatenation dataframe pandas
我在列表中有多个数据帧(100),如下所示:
frameList = [df1,df2,..,df100]
Run Code Online (Sandbox Code Playgroud)
每个数据框都有两列DateTime,Temperature。
我想与公共DateTime列上的所有数据框相交,并将所有 Temperature列合并/合并为一个大数据框:df1的温度,df2的温度,df3的温度,..,df100的温度。
(熊猫merge不起作用,因为我必须计算多个(99)成对交叉点)。
你可以尝试在Python中使用reduce功能..像这样
dfs = [df0, df1, df2, dfN]
df_final = reduce(lambda left,right: pd.merge(left,right,on='DateTime'), dfs)
Run Code Online (Sandbox Code Playgroud)
小智 5
使用pd.concat,适用于DataFrame或Series列表。
pd.concat(frameList, axis=1, join='inner')
Run Code Online (Sandbox Code Playgroud)
这比使用更好pd.merge,因为pd.merge每次执行时都会成对复制数据。pd.concat仅复制一次。但是,pd.concat只能基于轴pd.merge合并,而也可以在(多个)列上合并。
| 归档时间: |
|
| 查看次数: |
3220 次 |
| 最近记录: |