问题标签 [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 投票
3 回答
1125 浏览

python - 如何将 DASK 数据帧放入 MySQL 数据表?

我从 CSV 文件中获取数据,并在我的 Dask 数据框中保存和操作。从那里我需要将数据写入数据表。我还没有真正遇到过任何解决方案。Pandas 的 to_sql 函数为此提供了内置功能,所以我不确定是否需要先转换为 Pandas?我目前认为将 Dask 数据帧转换为 Pandas 会导致它完全加载到内存中,这可能会破坏首先使用 Dask 的目的。

将 Dask 数据帧写入数据表的最佳和最快方法是什么?

0 投票
3 回答
653 浏览

pandas - Dask:将 dask.DataFrame 转换为 xarray.Dataset

这在熊猫中是可能的。

我想用 dask 来做。

编辑:在这里提出

仅供参考,您可以从xarray.Dataset 转到 Dask.DataFrame

使用.to_xarry 的熊猫解决方案:

解决方案?

可以使用 xarray 寻找解决方案,但我认为它只有.from_dataframe

0 投票
1 回答
768 浏览

python - Dask 中的 XGBoost 建模

我的数据集有超过 10 万个观察值和 120 个特征。我想使用 XGBoost 和 Dask Gridsearchcv 来找到最佳参数。但是它抛出了一个错误。请让我知道我做错了什么

代码:

这里使用的 X 和 y 最初是一个 pandas 数据框。我试图在建模之前将其转换为 dask 数据框。我猜我在那里遗漏了一些东西。

错误:

0 投票
0 回答
454 浏览

python - 索引为分类时计算/合并 dask 数据帧时的问题

我正在尝试使用 dask 处理不适合内存的数据集。这是各种“ID”的时间序列数据。在阅读了 dask 文档后,我选择使用“parquet”文件格式并按“ID”进行分区。

但是,在从镶木地板中读取并设置索引时,我遇到了“TypeError: to union ordered Categoricals, all categories must be the same”,这是我自己无法解决的。

此代码复制了我遇到的问题:

此时我收到以下错误:

然后我做了:

而且,当我尝试使用时df.compute(scheduler="processes"),我得到了我之前提到的 TypeError:

给出:

令人惊讶的是,使用df.compute(scheduler="threads"),df.compute(scheduler="synchronous")或根本不设置索引都可以正常工作。

但是,这似乎不是我应该做的事情,因为我实际上是在尝试合并其中的几个数据集,并且认为设置索引会比不设置任何索引更快。(尝试合并以这种方式索引的两个数据帧时,我遇到了同样的错误)

我试图检查 df._meta,结果发现我的类别应该是“已知的”?分类

我还阅读了这篇 github 帖子,内容看起来很相似,但不知何故没有找到解决方案。

谢谢你的帮助,

0 投票
1 回答
103 浏览

python - 如何使用 Dask 进行更快的语言检测?

我正在使用 Dask 进行并行计算,并希望使用langdetect. 但是,我仍然无法获得任何速度来获取列中行的语言。

下面是我的代码:

这个 csav 文件有 800000 行,每行包含大约 800000 行。20字长句。

任何关于如何更快地实现语言检测的建议,因为目前需要 2-3 小时。

0 投票
1 回答
179 浏览

pandas - Dask 无法从简单(非 Hive)Parquet 文件中恢复分区

我有一个关于 Dask+Parquet 的两部分问题。我正在尝试对从分区 Parquet 文件创建的 dask 数据帧运行查询,如下所示:

我的目标是能够使用 dask 并行快速过滤和处理各个分区,如下所示:

我很喜欢使用 Hive 风格的 Parquet 目录,但我注意到与直接从单个 parquet 文件中读取相比,它的操作时间要长得多。

有人可以告诉我实现这一目标的惯用方式吗?对于 Dask/Parquet 来说还是相当新的,所以如果这是一种令人困惑的方法,我们深表歉意。

0 投票
1 回答
45 浏览

python - 是否可以使用 dask.compute 将 dask.DataFrame.categorize 与另一个 dask 计算结合起来?

我试图避免使用dask.compute(list_of_dask_computations). 在我拥有的代码中,我必须在 dask 数据框中创建一些分类列并调用dask.DataFrame.categorize以使类别成为已知的。但我想与dask.compute(list_of_dask_computations). 但我不明白怎么做。

一个例子描述如下:

感谢您提供的任何帮助。

阿尔诺。

0 投票
1 回答
654 浏览

azure - dask:从 Azure blob 读取镶木地板 - AzureHttpError

dask.dataframe.to_parquet我使用(将数据从数据库移动到 Azure blob 存储)在 Azure blob 中创建了一个 parquet 文件。

我现在想阅读那个文件。我正在做:

但我得到一个AzureHttpError

0 投票
1 回答
376 浏览

dask - 在多分区 Dask 数据框中的组内查找最大最小值

在处理非常大的数据帧时,我很难利用 Dask 分区。想象一个包含出租车行程日志的 200GB csv。我像这样加载数据:

df = dd.read_csv("/data/taxi_data_big.tsv", sep="\t")

然后对于每个司机,我想找出最早到机场的行程(DestinationId == 7)。

df1 = df[(df.DestinationId == 7)][["Date", "DriverId", "TripiId", "TripId_Rank", "DestinationId"]]

df1 数据框看起来像:

2020 年 1 月 1 日,D2 司机第 20 次和第 76 次前往机场。

对于我的分析,我需要找到司机在去机场之前的平均行程次数。

df2 = df1.groupby('TripId').TripId_Rank.idxmin()会给我 TripId 和第一次去机场的索引。

df4 = df2.loc[df3]选择匹配的行。这适用于小数据集,但是当我移动到大数据集时,我得到了"ValueError: Not all divisions are known, can't align partitions" when performing math on dataframe column.

如果我的理解是正确的,则错误是由于数据帧被加载到多个分区中引起的,并且 Dask 文档要求在数据帧上设置显式索引。

上面的代码有效,但我想知道这个问题是否有更好的解决方案。将 id 列添加到数据帧真的很慢,我不确定上面的代码是否利用了 Dask 并行化。

提前致谢。

0 投票
1 回答
450 浏览

python - Pandas 或 Dask 数据框,根据缺少的分组变量组合填充值

Dask 与 Pandas 数据帧在这里可能没有区别,除了 Dask 中没有多索引,但我有一个 Dask 数据帧,如:

对于 'name' = 'a2','key1' = 'B' 和 'key2' = 'D' 组合缺失。NaN在不使用多索引(Dask 不支持)的情况下,如何填写将“val1”和“val2”设置为或其他值的新行?我也对 Pandas 解决方案感兴趣。

请注意,这是一个示例,必须针对多个缺少的组合键进行操作。

预期的输出将是: