【问题标题】:Read tail by partition from CSV file with dask.dataframe使用 dask.dataframe 从 CSV 文件中按分区读取尾部
【发布时间】:2018-08-22 18:30:29
【问题描述】:

使用 Dash,我们可以轻松读取 CSV 文件并使用 head 获取第一行,即使在多个分区中也是如此。

import dask.dataframe as dd
df = dd.read_csv('data.csv').head(n=100, npartitions=2)

但我想在多个分区上读取 CSV 文件的最后几行,如下所示:

import dask.dataframe as dd
df = dd.read_csv('data.csv').tail(n=100, npartitions=2)

Dask data.frame 似乎不支持tail 方法上的分区。

pandas 中,我可以使用skiprows 管理它,但在Dask 中似乎没有此选项。

【问题讨论】:

  • 既然这个任务不占用大量内存(因此不需要dask),为什么不使用pandas
  • 我的管道基本上使用dask,但即使我阅读了数百万行(我有一个巨大的 csv 文件......),它也可能是一种选择。

标签: python pandas csv dataframe dask


【解决方案1】:

您似乎已经回答了自己的问题。 tail 方法存在

import dask.dataframe as dd
df = dd.read_csv('data.csv').tail(n=100)

Dataframe API

【讨论】:

  • 对不起,我编辑了我的帖子,dasktail 实现的问题在于,根据文档“警告,仅检查最后一个分区的最后 n 行。”。所以我只能使用最后一个分区,我想使用多个分区。
  • 不,目前不支持。您必须提出问题,或者更好的是,通过拉取请求提供修复。
  • 好的,谢谢您的回答!不确定能否提供拉取请求,但我会看看。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-29
  • 1970-01-01
相关资源
最近更新 更多