2024-07-01 07:06:01 发布
网友
我在一个列表中有许多数据帧(100):
frameList = [df1,df2,..,df100]
每个数据帧有两列DateTime,Temperature。在
DateTime
Temperature
我想让公共DateTime列上的所有数据帧相交,并将它们的所有Temperature列组合/合并到一个大数据帧中:来自df1的温度,来自df2的温度,来自df3的温度,…,来自df100的温度。在
(pandasmerge不起作用,因为我必须计算多个(99)对交集)。在
merge
你可以像这样重复你的列表:
df_merge = frameList[0] for df in frameList[1:]: df_merge = pd.merge(df_merge, df, on='DateTime', how='inner')
您可以尝试在python中使用reduce功能
dfs = [df0, df1, df2, dfN] df_final = reduce(lambda left,right: pd.merge(left,right,on='DateTime'), dfs)
使用pd.concat,它可以处理数据帧或序列的列表。在
pd.concat
pd.concat(frameList, axis=1, join='inner')
这比使用pd.merge要好,因为pd.merge每次执行时都会成对地复制数据。pd.concat只复制一次。但是,pd.concat只根据一个轴合并,而pd.merge也可以合并(多个)列。在
pd.merge
你可以像这样重复你的列表:
您可以尝试在python中使用reduce功能
使用
pd.concat
,它可以处理数据帧或序列的列表。在这比使用
pd.merge
要好,因为pd.merge
每次执行时都会成对地复制数据。pd.concat
只复制一次。但是,pd.concat
只根据一个轴合并,而pd.merge
也可以合并(多个)列。在相关问题 更多 >
编程相关推荐