gpt4 book ai didi

Pandas 数据透视表内存错误,大量可用内存

转载 作者:行者123 更新时间:2023-12-05 06:33:50 25 4
gpt4 key购买 nike

关于我的 df 的信息:

RangeIndex: 14151145 entries, 0 to 14151144
Data columns (total 4 columns):
id object
idf object
ch object
hr uint8
dtypes: object(3), uint8(1)
memory usage: 337.4+ MB

我的系统有 120GB 内存,当我运行时:

dfp = df.pivot_table(index='id', columns=['idf','ch'],aggfunc='count')

我生成的数据透视表将有 10800 列。

我的内存消耗达到大约 35 GB,然后出现内存错误。我无法理解这个问题,因为我有很多空闲内存。

我在 JupyterNotebook 中运行代码。

最佳答案

我找不到任何可以帮助我一次处理所有数据的东西。

因此,将我的 df 切成 n block w.r.t 到 ids,每个 id 可以有多个样本。

def partition(lst, n):
division = len(lst) / float(n)
return [ lst[int(round(division * i)): int(round(division * (i +
1)))] for i in range(n) ]

chunks_df = pd.DataFrame()

ids = dt_m['id'].unique()
part_ids=partition(ids,5)

i=0
gc.collect()
for lst in part_ids:
chunks_df=chunks_df.append(dt_m[dt_m['id'].isin(lst)].PIVOT_OPERATION())

print("{} batch done".format(i))
i=i+1

关于Pandas 数据透视表内存错误,大量可用内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50522623/

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