Pandas多索引和数据帧列表中的堆栈

2024-09-25 12:31:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有三个列表,比如A、B和C,它们看起来像这样:

A = ["Jan", "Feb", "Mar"]
B = ["location1", "location2", "location3"]
C = [pd.DataFrame(np.random.randn(2, 3), columns=list('ABC'))]*3

如何创建一个具有3个索引级别的多索引数据帧,即a、B和C的两个索引(0到1)?在

到目前为止,我所尝试的是通过循环遍历所有3个列表和dataframe列来创建一个包含所有三个索引的字典,然后,当我必须对数据进行切片时,再次使用条件循环键。这很管用,但似乎效率很低,因为我的字典里有1000万个条目。我想知道是否有一个使用multiindex和stack的单行Pandas语法。我看过这些文档,但是语法还不清楚。我是不是缺少了其他可以帮助我的熊猫功能?我应该使用数据库吗?在


Tags: 数据dataframe列表字典np语法randommar
1条回答
网友
1楼 · 发布于 2024-09-25 12:31:44

IIUC:
See my post on ^{} for more information
Or the documentation

pd.concat(C, keys=list(zip(A, B)), axis=1)

        Jan                           Feb                           Mar                    
  location1                     location2                     location3                    
          A         B         C         A         B         C         A         B         C
0 -0.519821 -1.820451 -0.645732 -0.519821 -1.820451 -0.645732 -0.519821 -1.820451 -0.645732
1  1.043477 -0.666565 -0.298504  1.043477 -0.666565 -0.298504  1.043477 -0.666565 -0.298504

或者

^{pr2}$

相关问题 更多 >