首页 > 解决方案 > 如何加入存储在按多索引排序的字典列表中的不同熊猫数据帧

问题描述

我在列表中有一组数据。列表中的每一项都是具有唯一键的字典,字典的值是包含 6 列 + 索引 col 的 DataFrame。

    list = [{"A": Participation    Assignment     Words   Creativeness   Innovative Great
     Date                                                        
     2021-01-02  95.00  75.00  75.00  79.00     100      OK
     2021-01-05  83.00  83.00  83.00  80.00     100      OK
     2021-01-06  98.88  78.88  77.00  77.00     34       OK
     2021-01-07  77.00  77.00  77.00  77.00     150      OK
     2021-01-08  79.00  79.00  70.00  70.00     99       OK
     ...            ...     ...     ...     ...      ...      ...
     2021-02-18  65.67  36.67  35.59  36.88     94       OK
     2021-02-19  60.94  38.00  36.94  38.72     75       OK
     2021-02-22  40.00  43.80  40.80  42.71     82       OK
     2021-02-23  42.00  43.81  38.99  42.29     174      OK
     2021-02-24  42.00  45.00  42.00  44.17     175      OK
     
     [1065 rows x 6 columns]}, "B": Participation    Assignment     Words   Creativeness   Innovative Great
     Date                                                        
     2021-01-02  95.00  75.00  75.00  79.00     100      OK
     2021-01-05  83.00  83.00  83.00  80.00     100      OK
     2021-01-06  98.88  78.88  77.00  77.00     340      OK
     2021-01-07  77.00  77.00  77.00  77.00     150      OK
     2021-01-08  79.00  79.00  70.00  70.00     93       OK
     ...            ...     ...     ...     ...      ...      ...
     2021-02-18  65.67  36.67  35.59  36.88     94       OK
     2021-02-19  60.94  38.00  36.94  38.72     95       OK
     2021-02-22  40.00  43.80  40.80  42.71     182      OK
     2021-02-23  42.00  43.81  38.99  42.29     174      OK
     2021-02-24  42.00  45.00  42.00  44.17     75       OK
     
     [1065 rows x 6 columns]}, ...]

我想要做的是有一个大的DataFrame,其中一般索引是日期,第一个索引列是每个字典的相应键,它的子索引是

      A                                                                               B
            Participation    Assignment     Words   Creativeness   Innovative Great   Participation    Assignment     Words   Creativeness   Innovative  Great
Date
2021-01-02  95.00            75.00          75.00   79.00          100        OK      95.00            75.00          75.00   79.00          100         OK

类似的东西。可能吗?

标签: pythonpandasdataframe

解决方案


首先不要使用变量list,因为python代码字(builtin)。

您可以使用concat, 字典是MultiIndex从 dicts 的键创建的:

df = pd.concat(L, axis=1)

推荐阅读