【问题标题】:Caching CSV-read data with pandas for multiple runs使用 pandas 缓存 CSV 读取数据以进行多次运行
【发布时间】:2017-03-21 18:37:20
【问题描述】:

我正在尝试将机器学习(带有 scikit-learn 的 Python)应用于存储在 CSV 文件中的大数据,大约 2.2 GB。

由于这是一个部分经验性的过程,我需要多次运行脚本,这会导致pandas.read_csv() 函数被一遍又一遍地调用,这需要很长时间。

显然,这非常耗时,所以我想一定有办法让读取数据的过程更快——比如以不同的格式存储或以某种方式缓存。

解决方案中的代码示例会很棒!

【问题讨论】:

  • 我觉得你需要hdf5
  • 您确实可以尝试以不同的格式存储数据,例如bcolz。但是,您可能还需要考虑更改您的流程。例如,您可以尝试让您的脚本在一次运行中完成更多的“经验过程”,或者您可以先处理数据的子集一段时间,然后再尝试对整个数据集执行该过程。
  • 你要存储什么样的数据(哪些数据类型)?它只是数字数据还是还有datetime和/或字符串、类别等?

标签: python csv pandas dataframe


【解决方案1】:

我会将已解析的 DF 存储为以下格式之一:

他们都非常快

PS 重要的是要知道你要存储什么样的数据(什么 dtypes),因为它可能会显着影响速度

【讨论】:

  • 这些适合 2.2gig 文件吗?
  • @bluesummers,是的,绝对!有一次我做了comparison,但那个时候Feather 不适用于Windows。现在我肯定会在这样的比较中考虑 Feather
  • 我没有看到 to_feather 方法。我将如何存储到羽毛?
  • @piRSquared,请看answer - 我比较了几种方法
  • 数据的类型不同...我不熟悉 HDF5,我应该如何将 CSV 转换为 HDF5(给定不同的 dtypes)? @MaxU
猜你喜欢
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
  • 2021-06-05
  • 2011-07-27
相关资源
最近更新 更多