问题标签 [dask-dataframe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1153 浏览

python - 如何重新排序 dask 数据框中的列

我正在生成一个dask数据框:

当前_getdataframe返回一个dict. 当我这样做时to_dataframe,这些列基本上是随机顺序的。有没有办法返回一个会导致固定列顺序的对象,_getdataframe或者在事后廉价地采用列顺序?最后的列顺序是取决于schema_dataframe我传入的还是dict来自的结果.map

0 投票
1 回答
303 浏览

dask - 如何在 Dask 中为 GroupBy 添加自定义聚合函数?例如平均值、众数、中位数、第 95 个百分位数等

我无法理解以下代码中的块、聚合和最终确定。

此外,类型和实现方式相同。有人可以在 Dask 中指导/帮助我吗?

0 投票
1 回答
242 浏览

dask - 将行值转换为多列 - Dask

我有一个包含单列数据的文件。其中很少需要转换为列作为标题。经过几次 dask 计算后,我将数据框减少如下:

是否可以将行转换为列并使用 dask 本身创建一个新的数据框?任何帮助表示赞赏。

编辑:这是我的最终数据框在转置后应该是什么样子的。

0 投票
1 回答
431 浏览

python - 任务期间的 Dask 进度

使用 dask 数据框
df = dask.dataframe.from_pandas(df, npartitions=5) series = df.apply(func) future = client.compute(series) progress(future)

在 jupyter 笔记本中,我可以看到每个分区完成多少 apply() 调用的进度条(例如 2/5)。
dask 有没有办法报告每个分区内的进度?
类似于tqdm progress_apply()熊猫的东西。

0 投票
1 回答
85 浏览

dataframe - 使用 Dask 数据帧的 Autosklearn 预测/ Autosklearn 对 dask 数据帧的支持

我已经使用 pandas 数据框训练了我的 Autosklearn 分类模型,并尝试使用来自训练模型的 dask 数据框进行预测。

我已经用 pandas 数据框进行了测试,并得到了正确的预测。现在,我必须对大型数据集的 dask 数据帧执行预测任务。

当我阅读 dask 和 Autosklearn 的所有文档时,到目前为止还没有相同的支持。

如果有人可以提供帮助,那将非常感激。

提前致谢。

0 投票
1 回答
197 浏览

dask - Dask 使用 SQLAlchemy 连接作为 dask.dataframe.read_sql 的表 - index_col 不能让 pandas 和 dask 都开心

我有一个我创建的 SQLAlchemy sqlalchemy.sql.selectable.Join 对象,以便我可以将几个表的连接拉入一个 dask 数据框。

加入定义:

如果我像这样直接将一个子集读入熊猫,它可以工作:

但是,如果我尝试对 dask 做同样的事情,我会遇到两个错误之一,Pandas 或 Dask 都找不到我所指的列。熊猫:

黎明:

我不确定是否有办法解决这个问题,或者我是否以错误的方式做某事。非常感谢任何帮助!

0 投票
1 回答
44 浏览

python - 为什么在过滤后的 Dask 数据帧上运行 compute() 需要这么长时间?

我正在使用这个读取数据: ddf1 = dd.read_sql_table('mytable', conn_string, index_col='id', npartitions=8)

当然,由于惰性计算,这会立即运行。这个表有几亿行。

接下来,我要过滤这个 Dask 数据框:

ddf2 = ddf1.query('some_col == "converted"')

最后,我想将其转换为 Pandas 数据框。结果应该只有大约 8000 行:

ddf3 = ddf2.compute()

但是,这需要很长时间(约 1 小时)。我可以就如何大幅加快速度获得任何建议吗?我试过使用.compute(scheduler='threads'),改变分区的数量,但到目前为止没有一个工作。我究竟做错了什么?

0 投票
1 回答
2082 浏览

python - 使用 Dask 分部高效读取大型 csv 文件

现在我正在使用 Dask 读取大的 csv 文件并对其进行一些后处理(例如,做一些数学运算,然后通过一些 ML 模型进行预测并将结果写入数据库)。避免将所有数据加载到内存中,我想按当前大小的块读取:读取第一个块,预测,写入,读取第二个块等。

我尝试了使用skiprowsand 的下一个解决方案nrows

但我得到错误:

ValueError:样本不够大,无法包含至少一行数据。请增加对/sample的调用中 的字节数read_csvread_table

此外,据我了解,它每次都会为所有数据计算二进制掩码 ([False, False, ... , True, ...]) 以查找要加载的行。我们怎样才能更有效地做到这一点?也许使用 dask 的一些分布式或延迟功能?

0 投票
1 回答
127 浏览

pandas - 在 dask 数据帧中使用 map_partitions 获取目录名称

我正在寻找有关 dask 数据框结果的帮助。我有一个 dask 数据框,其中包含来自 144 个 csv 文件的 144 个数据框。我想从这些数据框的一列中获取最大值并返回它,以及它所属的文件夹的名称。我一直在使用 map_patitions 来获取我正在寻找的结果,但是,没有与分区结果关联的标识符,因此很难将结果应用于其他用途。任何帮助将不胜感激!这是我正在使用的代码示例:

结果包含我想要的值,索引为“第 1 列”。我想要文件夹的名称(本质上是 * 文件夹)作为索引。我的最终目标是一个数据框,其中包含文件夹或目录名称的索引以及从函数返回的最大值列。

0 投票
1 回答
414 浏览

python - 在 DASK 中,如何将一系列整数(自动增量)添加到新列?

我需要在我的 DASK 数据框中添加一列,该列应包含自动增量 ID。我知道如何在 Pandas 中执行此操作,因为我在 SO 上找到了 Pandas 解决方案,但我无法弄清楚如何在 DASK 中执行此操作。我最好的尝试是这样的,结果发现自动增量功能只为我的 100 行测试文件运行了两次,并且所有的 id 都是 2。

熊猫方式看起来像这样

或者,如果我可以获取特定 CSV 行的行号并将其添加到列中,那就太好了,在这个阶段,这似乎不太可能。