为什么Dask没有读取CSV?

时间:2017-10-16 10:40:21

标签: csv dask

我刚试过

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%和最大值,但不会显示这些描述性值。
  3. 有什么问题?

2 个答案:

答案 0 :(得分:1)

默认情况下,Dask.dataframe是惰性的。当你想要一个真正的答案时,你需要打电话给.compute()

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

答案 1 :(得分:0)

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

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

相关问题