【问题标题】:Problem exporting Pandas DataFrame with object containing documents as bytes导出带有包含文档为字节的对象的 Pandas DataFrame 时出现问题
【发布时间】:2019-07-09 09:47:46
【问题描述】:

我正在尝试将包含文档的 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 的格式和大小?

【问题讨论】:

    标签: python pandas dataframe hdf5


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      • 2020-08-21
      相关资源
      最近更新 更多