【问题标题】:How to load large data into pandas efficiently? [duplicate]如何高效地将大数据加载到 pandas 中? [复制]
【发布时间】:2018-08-05 23:22:33
【问题描述】:

我正在处理一个非常宽的数据集(1005 行 * 590,718 列,1.2G)。将如此大的数据集加载到 pandas 数据帧中会导致代码完全由于内存不足而失败。

我知道 Spark 在处理大型数据集时可能是 Pandas 的一个不错的替代品,但是 Pandas 中是否有任何可行的解决方案可以在加载大型数据时减少内存使用?

【问题讨论】:

  • 如果可能,将 csv 转换为 parquet 格式并在 spark 中使用 pyarrow 或 fast parquet 包以加快处理速度。
  • 谢谢。它非常有帮助!

标签: python pandas dataframe


【解决方案1】:

你可以使用

pandas.read_csv(filename, chunksize = chunksize)

【讨论】:

  • 我以后需要追加块吗?我的数据集太宽了。列是否有类似的功能,或者我应该转置我的 df?
  • 你可以用 concat 函数来跟进它:chunk_df = pd.read_csv(filename, iterator=True, chunksize=chunksize)df = pd.concat(chunk_df, ignore_index=True)
猜你喜欢
  • 1970-01-01
  • 2013-11-07
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-16
  • 2021-04-11
  • 2017-11-16
相关资源
最近更新 更多