首页 > 解决方案 > 根据另一个列表列表合并数据框列表

问题描述

我有一个数据框列表和一个带有数字的列表列表。

这个想法是我想根据与堆叠在一起的数字列表匹配的索引将数据帧合并在一起。例如合并 df1 & df2 因为 0 & 1。然后合并 df3,df4,df5,df6 因为 2,3,4,5。ETC...

list_dfs=[df1, df2, df3... df50]


list_num= [[0,1], [2,3,4,5], [6], [7,8] ... [125,126,127]]

这就是我所做的,我相信它不是 pythonic 寿。

dfs_list=[]

for i, df in enumerate(list_dfs):
    for index,num in enumerate(list_num):
        dfs_list.append(pd.merge(dfs[i], dfs[num]))

有什么建议么。

标签: pythonpandasdataframeenumerate

解决方案


你不需要外部for

dfs_list=[]

for nums in list_num:
    dfs_list.append(pd.concat([dfs[i] for i in nums], join="inner"))

推荐阅读