如何在 pandas 中保持内存效率?

How to maintain memory efficiency in pandas?

我有一个包含文本数据列的数据集,大约有 600k

所以我尝试仅将文本数据保存为 H5 格式以便将来更快加载,我尝试使用垃圾收集器

这是我的代码

import pandas as pd
import numpy as np
import gc

df = pd.read_csv('Reviews.csv')

text = df['Text']

df = None
gc.collect()

text.to_hdf('text.h5','data',format='table')
text = None
gc.collect()


print("Done")

但不幸的是,即使我有 16gb 的内存,这也会导致 内存错误,我怎样才能在不放弃内存的情况下做到这一点?

  • 阅读你的大csv文件分块(根据经验调整chunksize
  • 使用 append=True 模式
  • 将块(行集)附加到指定的 HDFStore

for chunk in pd.read_csv('Reviews.csv', chunksize=10**5):
    chunk['Text'].to_hdf('text.h5', 'data', format='table', append=True)