gpt4 book ai didi

python - 如何使用分层索引保存和检索 Pandas 数据帧?

转载 作者:太空宇宙 更新时间:2023-11-04 10:26:06 25 4
gpt4 key购买 nike

我需要创建并保存一个带有分层索引的 Pandas 数据框。在下文中,我创建了两个数据框,然后将它们连接起来以创建一个具有层次索引的新数据框。

data1 = np.random.rand(5,5)
data2 = np.random.rand(5,5)
df1 = pd.DataFrame(data1, columns = ['a', 'b', 'c', 'd', 'e'], index=['i1', 'i2', 'i3', 'i4', 'i5'])
df2 = pd.DataFrame(data2, columns = ['a', 'b', 'c', 'd', 'e'], index=['i1', 'i2', 'i3', 'i4', 'i5'])

df = pd.concat([df1, df2], keys=['first', 'second'])

print "Original Data frame"
print df

# Save to file.
df.to_csv('test')

# Read from file.
df_new = pd.DataFrame.from_csv('test')

print "Saved Data frame"
print df_new

这是我得到的输出,

Original Data frame
a b c d e
first i1 0.926553 0.180306 0.182887 0.783061 0.832914
i2 0.899054 0.130367 0.615534 0.965580 0.669495
i3 0.931004 0.425528 0.068938 0.166522 0.714399
i4 0.082365 0.587194 0.993864 0.187864 0.066035
i5 0.668671 0.294744 0.136317 0.358732 0.529674
second i1 0.916310 0.361423 0.700380 0.386119 0.273667
i2 0.102542 0.454106 0.565760 0.259323 0.104743
i3 0.410280 0.379986 0.288921 0.177819 0.919343
i4 0.447279 0.113711 0.032273 0.335358 0.717824
i5 0.995781 0.356817 0.146785 0.972401 0.169360

Saved Data frame
Unnamed: 1 a b c d e
first i1 0.926553 0.180306 0.182887 0.783061 0.832914
first i2 0.899054 0.130367 0.615534 0.965580 0.669495
first i3 0.931004 0.425528 0.068938 0.166522 0.714399
first i4 0.082365 0.587194 0.993864 0.187864 0.066035
first i5 0.668671 0.294744 0.136317 0.358732 0.529674
second i1 0.916310 0.361423 0.700380 0.386119 0.273667
second i2 0.102542 0.454106 0.565760 0.259323 0.104743
second i3 0.410280 0.379986 0.288921 0.177819 0.919343
second i4 0.447279 0.113711 0.032273 0.335358 0.717824
second i5 0.995781 0.356817 0.146785 0.972401 0.169360

当我将这个新数据帧保存到 csv 文件(“测试”)并读回时,我松开了分层索引。有没有办法将数据保存到文件中,这样当我读回它时,我保留了层次索引?

最佳答案

以不同于使用 csv 的其他方式保存它。比如泡菜:

df.to_pickle('dataframe.pickle')

这保留了分层索引。你再次阅读它:

pd.read_pickle('dataframe.pickle')

Pandas 有几种 IO 方法,您可以在 documentation 中阅读它们。 .

关于python - 如何使用分层索引保存和检索 Pandas 数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29248885/

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