2017-06-02 74 views
1

我想從包含一些數據幀的列表中分析2個或更多個數據幀。從Python中的數據幀列表中導入2個或更多數據幀

例如:

DataFrameList = [A,A,A,B,B,B,C,C]其中A,B,C是特定數據幀的名稱。具有相同名稱的數據幀具有相同的行數,但不包含列,並且它們也具有相同的id colmn ...因此想法是將所有具有相同名稱的數據幀聯合起來,並且最後我得到新的數據幀列表,是這樣的(根據上面的列表上)DataFramelist2 = [A,B,C]

如果任何人有一些想法,請分享:)

謝謝!

+0

請提供[MCVE]。 – IanS

回答

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