使用包含字节文档的对象导出 Pandas DataFrame 时出现问题

Problem exporting Pandas DataFrame with object containing documents as bytes

我正在尝试将包含文档的 DataFrame 导出为字节对象,但是,我找不到不涉及相对较小的合适文件格式(内存使用:254.3+ KB) DataFrame 扩展到 100 MB 的范围内 - 甚至 1GB+。

到目前为止,我已尝试将 DataFrame 导出为 CSV 和 HDF5。

引起这种巨大扩展的列包含字节格式的 .pdf、.doc、.txt 或 .msg 文件: b'%PDF-1.7\r%\xe2\xe3\xcf\xd3\r\n256... 它最初作为 varbinary(max) 存储在 SQL-服务器上,并由 pandas 默认设置加载。

我只是尝试使用 pandas 导出 DataFrame,方法是: df.to_csv('.csv')

data_stored = pd.HDFStore('documents.h5')
data_stored['document'] = df

我想保持输出数据紧凑,因为我只是希望能够在其他时间再次加载数据。然而,问题在于导出会导致巨大的 CSV 或 .h5 文件。我想有一些文件格式可以保持 pd.DataFrame?

的格式和大小

我最终使用 df.to_pickle 导出。我还发现数据帧的大小确实比我最初想象的要大得多,因为 pandas 方法 .info 不包括大量的开销内存。相反,为了查看整个内存,我使用了 df.memory_usage(deep=True).sum(),实际上数据帧占用了大约 1.1 GB