如何在 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)
我有一个包含文本数据列的数据集,大约有 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)