【问题标题】:Python pandas: how to speed up exporting dataframes to csv? [duplicate]Python pandas:如何加快将数据帧导出到 csv 的速度? [复制]
【发布时间】:2015-09-27 16:45:56
【问题描述】:

我正在使用 python、pandas 和 scipy 进行一些数值模拟。 我运行一组场景,并为每个场景创建一个包含大量输出的详细数据框,并将其保存到单独的 CSV 文件中。每个 CSV 文件大约 900 KB。

我使用的行是,平庸的:

mydataframe.to_csv('myoutput.csv')

我的问题是:有没有办法加快导出过程?一些特定的参数,不同的库等。我之所以问,是因为写入 CSV 几乎占整个模拟时间的一半:运行 18 个场景需要 17 秒,其中 7.2 秒花费在 to_csv 方法中。

PS 我最初想写入 Excel,但这太慢了,根据我的另一个问题:Python: fastest way to write pandas DataFrame to Excel on multiple sheets

【问题讨论】:

  • 您对此进行了分析吗?你能用np.savetxt比较性能吗
  • 每个数据框有 300 到 400 列。如何让 np.savetxt 写入列标题?我知道它有一个标题参数,但它似乎不接受列名列表。
  • 正如您在文档 (docs.scipy.org/doc/numpy/reference/generated/numpy.savetxt.html) 中所读到的,它是一个将写入文件开头的字符串。所以你可以做','.join(mydataframe.columns)
  • 我无法让 np.savetxt 处理非数值数组,这是一个问题,因为我的数据框有很多文本字段。

标签: python csv pandas export-to-csv


【解决方案1】:

尝试压缩文件:

mydataframe.to_csv('myoutput.gz', compression='gzip')

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-10
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    相关资源
    最近更新 更多