pandas 过滤不同的数据框并合并结果

xlpyo6sf  于 2023-01-15  发布在  其他
关注(0)|答案(1)|浏览(99)

我有不同的数据框,他们有一个共同的列(id),因为数据是巨大的,我想过滤所有的数据框上的值定义的列表(清单),然后合并所有新建的数据框上的一个共同的列。我实现了它,如下所示,它是缓慢的,有很多重复。我不知道我的答案是正确的,有人能帮我优化代码吗?
我的合并结果比 Dataframe 大小大得多,我不知道如何为我的数据找到正确的合并。

from functools import reduce
import functools as ft

df_list = [df1,df2,df3,df4,df5,df6]
lis = ["PT08"]
dfs = []

for df in df_list:
    dfs.append(df[df['id'].isin(lis)])

df = df_list[0]
for df_ in dfs[1:]:
    dfall= df.merge(df_, on='id')
    
dfall
toiithl6

toiithl61#

只是你可以从python的多处理中使用。过滤后下面的并行处理合并df 1 df 2-df 3 df 4-df 5 df 6(根据你的 Dataframe 选择顺序,硬合并必须放置这部分)然后合并3个 Dataframe 它可以稍微提高你的速度

相关问题