gpt4 book ai didi

python - Pandas 数据框枢轴不适合内存

转载 作者:太空狗 更新时间:2023-10-30 02:41:21 28 4
gpt4 key购买 nike

我有一个具有以下结构的数据框 df:

        val          newidx    Code
Idx
0 1.0 1220121127 706
1 1.0 1220121030 706
2 1.0 1620120122 565

它有 1000000 行。我们总共有 600 个独特的 Code 值和 200000 个独特的 newidx 值。

如果我执行以下操作

df.pivot_table(values='val', index='newidx', columns='Code', aggfunc='max')

我得到一个 MemoryError 。但这听起来很奇怪,因为生成的数据框的大小应该是可持续的:200000x600。

这样的操作需要多少内存?有没有办法修复这个内存错误?

最佳答案

试着看看这是否符合你的内存:

df.groupby(['newidx', 'Code'])['val'].max().unstack()
不幸的是,

pivot_table 非常占用内存,因为它可能会制作多个数据副本。


如果 groupby 不起作用,您将不得不将 DataFrame 拆分成更小的部分。尽量不要分配多次。例如,如果从 csv 读取:

df = pd.read_csv('file.csv').groupby(['newidx', 'Code'])['val'].max().unstack()

避免多重赋值。

关于python - Pandas 数据框枢轴不适合内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39648991/

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