根据另一个列表列表合并数据框列表

Merging list of Dataframes depending on another list of lists

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

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

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]))

任何建议。

你不需要外部 for:

dfs_list=[]

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