python - 使用延迟 (DASK) 读取大型 CSV 文件

标签 python pandas csv dask dask-delayed

我正在使用 delayed 读取许多大型 CSV 文件:

import pandas as pd

def function_1(x1, x2):         
    df_d1 = pd.read_csv(x1)
    # Some calculations on df_d1 using x2.
    return df_d1

def function_2(x3):         
    df_d2 = pd.read_csv(x3)
    return df_d2

def function_3(df_d1, df_d2):         
    # some calculations and merging data-sets (output is "merged_ds").
    return merged_ds
  • function_1:导入数据集 1 并进行一些计算。
  • function_2:导入数据集 2。
  • function_3:合并数据集和一些计算。

接下来,我使用循环调用这些函数,使用 delayed 函数。我有很多CSV文件,每个文件都超过500MB。这是使用 DASK(延迟)完成我的任务的合适程序吗?

最佳答案

是的,请继续延迟您的功能并将它们提交给 Dask。最占用内存的可能是 function_3,您可能需要考虑一次可以在内存中保存多少个 - 使用分布式调度程序来控制您拥有多少个工作线程和线程及其各自的内存限制 https://distributed.readthedocs.io/en/latest/local-cluster.html

最后,我确定你不想返回最终合并的数据帧,这肯定不适合内存:你可能想聚合它们或写出到其他文件。

关于python - 使用延迟 (DASK) 读取大型 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54970088/

相关文章:

python - PySpark:在日期为字符串的范围内按日期字段过滤 DataFrame

python - 无法使用 imaplib 从 gmail 解析 url

python - 类型错误 : expected string or bytes-like object – with Python/NLTK word_tokenize

python - 在 matplotlib 中使用透明度和多种颜色显示 3D 条形图

python - Pandas groupby 累计计数

c# - 添加列以动态导出 CSV

python - openpyxl 从现有数据手册示例中读取表格?

python - 计算CSV文件中特定列中的重复值并将该值返回到另一列(python2)

Python 链接抓取器

python - 任何加速 Python 和 Pygame 的方法?