【发布时间】:2019-09-19 05:52:30
【问题描述】:
如何以良好的读取速度将大型 Dataframe 保存到磁盘?
我有一个大型数据集(youtube 8M),现在我已将原始数据提取到 dict。我想将它保存为数据框,以便使用 pytorch 数据集按索引读取。
具体来说,验证数据如下所示:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 1112356 entries, 0 to 1112355
Data columns (total 4 columns):
id 1112356 non-null object
mean_rgb 1112356 non-null object
mean_audio 1112356 non-null object
label 1112356 non-null object
dtypes: object(4)
memory usage: 42.4+ MB
dtypes 如下:
id : str
mean_rgb : numpy.ndarray
mean_audio : numpy.ndarray
label : numpy.ndarray
我想将它保存到磁盘,以便我可以有效地阅读它。
首先,我使用hdf5 和pd.to_hdf(),但我得到了OverFlowError。
然后,我转向csv 并成功保存。然而,当我从这个.csv 读取数据时,我得到一个损坏的dataframe。行数大大超过 1112356。
最后我用chunksize=1000将dataframe保存到csv,读取结果还是有2842137行错误,内部数据比较混乱。
RangeIndex: 2842137 entries, 0 to 2842136
Data columns (total 1 columns):
widwmean_rgbwmean_audiowlabel object
dtypes: object(1)
memory usage: 21.7+ MB
【问题讨论】:
-
也许这个链接可以帮助你:towardsdatascience.com/…
-
feather或许有帮助