List of dataframes to dataframe of lists

Question:

How to convert a list of dataframes to a dataframe of lists? For example:

lst = [pd.DataFrame({'A': [1, 2], 'B': [10, 20]}),
       pd.DataFrame({'A': [3, 4, 5], 'B': [30, 40, 50]})]

Expected result:

           A             B
0     [1, 2]      [10, 20]
1  [3, 4, 5]  [30, 40, 50]

My real list contains thousands of dataframes.

Asked By: Mykola Zotko

||

Answers:

lst = [pd.DataFrame({'A': [1, 2], 'B': [10, 20]}),
       pd.DataFrame({'A': [3, 4, 5], 'B': [30, 40, 50]})]

dic_lst = [df.to_dict(orient='list') for df in lst]

pd.DataFrame(dic_lst)
Answered By: Ignatius Reilly

We could do

out = pd.concat(dict(enumerate(lst))).groupby(level=0).agg(list)
Out[1053]: 
           A             B
0     [1, 2]      [10, 20]
1  [3, 4, 5]  [30, 40, 50]
Answered By: BENY
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.