【问题标题】:Why does Dask not read the CSV?为什么 Dask 不读取 CSV?
【发布时间】:2017-10-16 10:40:20
【问题描述】:

我刚试过

import dask.dataframe as dd
df = dd.read_csv("data.csv")
print(df.describe())

给了

Dask DataFrame Structure:
              SOME_COL    FOO            BAR
npartitions=1                   float64     float64        float64
              ...         ...            ...  
Dask Name: describe, 1234 tasks

有两个问题:

  1. 我认为没有完成任何操作,因为这是一个 4GB 的 CSV 文件,因此至少需要几秒钟才能读取,但会立即打印。
  2. 我希望得到最小值、25%、中值、75% 和最大值,但没有显示这些描述性值。

有什么问题?

【问题讨论】:

    标签: csv dask


    【解决方案1】:

    Dask.dataframe 默认是惰性的。当您想要真正的答案时,您需要致电.compute()

    print(df.describe().compute())
    

    【讨论】:

      【解决方案2】:

      调用 dd.read_csv() 实际上并没有多大作用。在此之后,您应该调用 .compute() 方法将 csv 实际读入 dask 数据帧。

      这意味着 dask 是懒惰的。如果你只有 4GB 的 csv 文件和足够的 RAM,也许你可以直接用 pandas 读取 csv 块。还要在 pandas.read_csv 中设置参数 low_memory=False。

      【讨论】:

        猜你喜欢
        • 2019-07-16
        • 2020-09-17
        • 2022-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-11
        • 2022-10-12
        相关资源
        最近更新 更多