我想从列表中包含2个或更多数据帧,其中包含一些数据帧。
例如:
DataFrameList = [A,A,A,B,B,B,C,C] 其中A,B,C是特定数据帧的名称。具有相同名称的数据帧具有相同的行数,但不是列,并且它们具有相同的id colmn ...因此,想法是将所有具有相同名称的数据帧合并,并且最后我得到新的数据帧列表是这样的(基于上面的列表) DataFramelist2 = [A,B,C]
如果有人有任何想法请分享:)
谢谢!
答案 0 :(得分:0)
您可以按行数对列表进行排序,然后使用itertools.groupby。
import pandas as pd
from itertools import groupby
DataFrameList = sorted(DataFrameList, key=lambda x: x.shape[0])
DF = []
for _, group in groupby(DataFrameList, key=lambda x: x.shape[0]):
DF += [pd.concat(group)]