gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-30 20:23:50 26 4
gpt4 key购买 nike

我有 3 个列表,比如 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 个列表和数据框列来创建包含所有三个索引的字典,然后,当我必须对数据进行切片时,再次使用条件遍历键.这可行,但似乎效率很低,因为我的字典中有 1000 万个项目。我想知道是否有一个使用多索引和堆栈的单行 Pandas 语法。我看到了这些的文档,但我还不清楚语法。我是否缺少任何其他可以帮助解决此问题的 Pandas 功能?我应该改用数据库吗?

最佳答案

IIUC:
See my post on pd.concat 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

或者

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

关于python - 数据帧列表中的 Pandas 多索引和堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49700457/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com