python - 保存 9GB 数据帧时出现 Pickle 内存错误
问题描述
我正在将大约 100 个文件夹中的图像读取到数据框中,每个文件夹在数据框中都有一行。阅读这些图像后,我想将它们保存到 pkl 文件中。当我使用
pd.to_pickle(dataset,'.\\dataset.pkl')
显示内存错误,我尝试了 hdf5,parquest 等不同的方法,但仍然显示错误。以下是数据框信息:
<class 'pandas.core.frame.DataFrame'>
Index: 60 entries, dev_01 to dev_09
Data columns (total 1 columns):
videos 60 non-null object
dtypes: object(1)
memory usage: 9.7 GB
videos_dataframe
folder_01 [[[0.0, 0.0, 0.0, 0.0, 0.0, 34.0, 49.0, 60.0, ...
folder_010 [[[0.0, 0.0, 0.0, 66.0, 75.0, 73.0, 73.0, 73.0...
folder_011 [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0...
folder_012 [[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0...
folder_013 [[[0.0, 0.0, 0.0, 28.0, 41.0, 58.0, 73.0, 81.0...
folder_014 [[[0.0, 0.0, 0.0, 0.0, 0.0, 15.0, 26.0, 48.0, ...
folder_015 [[[0.0, 0.0, 0.0, 0.0, 9.0, 8.0, 8.0, 16.0, 30...
我将数据框分成 10 个部分:
splits=np.array_split(df, 10)
with open('split_pickle.pkl', 'wb') as pickle_out:
pickle.dump(splits, pickle_out)
但仍然显示内存错误:
Traceback (most recent call last)
<ipython-input-23-51fab4cebf2c> in <module>
3 with open('dev_split_pickle.pkl', 'wb') as pickle_out:
----> 4 pickle.dump(splits, pickle_out)
MemoryError:
解决方案
推荐阅读
- javascript - 如何将 mjs 文件中的特定数据发送到 API 服务器?
- angular - 为什么 Visual Studio 2019 会自动设置 git 源代码管理?
- javascript - 有没有办法在 SharePoint 页面上获取当前页面的标题
- c# - 如何在 C# 应用程序中隐藏谷歌工作表令牌?
- button - 更改 mailchimp 中按钮的形状
- perl - 如何在 perl 中使用 \e 元字符拆分字符串?
- cucumber - 黄瓜异常:无法加载插件类:com.epam.reportportal.cucumber.ScenarioReporter
- php - 从 MYSQL 查询临时存储变量
- image - scipy.misc 图像函数(例如 imread、imresize、imsave、imshow 等)上的 AttributeError、ImportError
- c++ - 在 macOS 上的另一个窗口中打开小部件