合并数据框列表取决于另一个列表列表

问题描述

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

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

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


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

这就是我所做的,我确信它不是pythonic tho。

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...