问题标签 [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.
python - 如何将 DASK 数据帧放入 MySQL 数据表?
我从 CSV 文件中获取数据,并在我的 Dask 数据框中保存和操作。从那里我需要将数据写入数据表。我还没有真正遇到过任何解决方案。Pandas 的 to_sql 函数为此提供了内置功能,所以我不确定是否需要先转换为 Pandas?我目前认为将 Dask 数据帧转换为 Pandas 会导致它完全加载到内存中,这可能会破坏首先使用 Dask 的目的。
将 Dask 数据帧写入数据表的最佳和最快方法是什么?
pandas - Dask:将 dask.DataFrame 转换为 xarray.Dataset
这在熊猫中是可能的。
我想用 dask 来做。
编辑:在这里提出
仅供参考,您可以从xarray.Dataset 转到 Dask.DataFrame
使用.to_xarry 的熊猫解决方案:
解决方案?
可以使用 xarray 寻找解决方案,但我认为它只有.from_dataframe。
python - Dask 中的 XGBoost 建模
我的数据集有超过 10 万个观察值和 120 个特征。我想使用 XGBoost 和 Dask Gridsearchcv 来找到最佳参数。但是它抛出了一个错误。请让我知道我做错了什么
代码:
这里使用的 X 和 y 最初是一个 pandas 数据框。我试图在建模之前将其转换为 dask 数据框。我猜我在那里遗漏了一些东西。
错误:
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 帖子,内容看起来很相似,但不知何故没有找到解决方案。
谢谢你的帮助,
python - 如何使用 Dask 进行更快的语言检测?
我正在使用 Dask 进行并行计算,并希望使用langdetect
. 但是,我仍然无法获得任何速度来获取列中行的语言。
下面是我的代码:
这个 csav 文件有 800000 行,每行包含大约 800000 行。20字长句。
任何关于如何更快地实现语言检测的建议,因为目前需要 2-3 小时。
pandas - Dask 无法从简单(非 Hive)Parquet 文件中恢复分区
我有一个关于 Dask+Parquet 的两部分问题。我正在尝试对从分区 Parquet 文件创建的 dask 数据帧运行查询,如下所示:
我的目标是能够使用 dask 并行快速过滤和处理各个分区,如下所示:
我很喜欢使用 Hive 风格的 Parquet 目录,但我注意到与直接从单个 parquet 文件中读取相比,它的操作时间要长得多。
有人可以告诉我实现这一目标的惯用方式吗?对于 Dask/Parquet 来说还是相当新的,所以如果这是一种令人困惑的方法,我们深表歉意。
python - 是否可以使用 dask.compute 将 dask.DataFrame.categorize 与另一个 dask 计算结合起来?
我试图避免使用dask.compute(list_of_dask_computations)
. 在我拥有的代码中,我必须在 dask 数据框中创建一些分类列并调用dask.DataFrame.categorize
以使类别成为已知的。但我想与dask.compute(list_of_dask_computations)
. 但我不明白怎么做。
一个例子描述如下:
感谢您提供的任何帮助。
阿尔诺。
azure - dask:从 Azure blob 读取镶木地板 - AzureHttpError
dask.dataframe.to_parquet
我使用(将数据从数据库移动到 Azure blob 存储)在 Azure blob 中创建了一个 parquet 文件。
我现在想阅读那个文件。我正在做:
但我得到一个AzureHttpError
:
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 并行化。
提前致谢。
python - Pandas 或 Dask 数据框,根据缺少的分组变量组合填充值
Dask 与 Pandas 数据帧在这里可能没有区别,除了 Dask 中没有多索引,但我有一个 Dask 数据帧,如:
对于 'name' = 'a2','key1' = 'B' 和 'key2' = 'D' 组合缺失。NaN
在不使用多索引(Dask 不支持)的情况下,如何填写将“val1”和“val2”设置为或其他值的新行?我也对 Pandas 解决方案感兴趣。
请注意,这是一个示例,必须针对多个缺少的组合键进行操作。
预期的输出将是: