gpt4 book ai didi

python - 在 pandas DataFrame 中存储 3 维数据

转载 作者:行者123 更新时间:2023-12-01 22:12:47 24 4
gpt4 key购买 nike

我是 Python 的新手,我正在尝试了解如何使用 pandas DataFrames 操作数据。我搜索了类似的问题,但没有看到任何满足我确切需求的问题。如果这是重复的,请指出正确的帖子。

所以我有多个具有完全相同形状、列和索引的 DataFrame。如何将它们与标签结合起来,以便我可以使用任何列/索引/标签轻松访问数据?

例如在下面的设置之后,我如何将 df1 和 df2 放入一个 DataFrame 中并用名称“df1”和“df2”标记它们,这样我就可以像 df['A']['df1'][ 'b'], 得到 df 的行数?

>>> import numpy as np
>>> import pandas as pd
>>> df1 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'], index=['a', 'b'])
>>> df2 = pd.DataFrame([[5, 6], [7, 8]], columns=['A', 'B'], index=['a', 'b'])
>>> df1
A B
a 1 2
b 3 4
>>> df2
A B
a 5 6
b 7 8

最佳答案

我认为 MultiIndex DataFrame 是由 concat 创建的答案:

df = pd.concat([df1, df2], keys=('df1','df2'))
print (df)
A B
df1 a 1 2
b 3 4
df2 a 5 6
b 7 8

然后对于基本选择可以使用 xs :

print (df.xs('df1'))
A B
a 1 2
b 3 4

对于选择索引和列一起使用 slicers :

idx = pd.IndexSlice
print (df.loc[idx['df1', 'b'], 'A'])
3

另一种可能的解决方案是使用 panels .

但在较新版本的 pandas 中是 deprecated .

关于python - 在 pandas DataFrame 中存储 3 维数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46884648/

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