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

pandas - 如何使用 Dask 对字符串使用函数?

我有一个大数据集,最近被介绍给 Dask。我正在尝试标记每一行中的文本。这在熊猫中很容易做到,如下所示,但我有一个错误说

AttributeError:当我尝试使用 Dask 时,'DataFrame' 对象没有属性 'lower'(请参见下面的第二组代码)

使用 DASK:

0 投票
0 回答
81 浏览

python-3.x - Dask 数据帧值错误

我有几个parquet文件(数据框),我将它们作为一个 dask 数据框图和示例加载。之后,我根据数据框中的原始数据执行一些计算,并将新列附加到我的 dask 数据框中。

最后,我想计算所有列的mean()andstd()并得到一个ValueError我不确定它来自哪里或我做错了什么。

不确定它来自哪里。它说索引不匹配。这是我收到的错误消息:

0 投票
1 回答
465 浏览

python - TypeError: agg() 得到了一个意外的关键字参数

我正在研究 dask groupby,我在这里遇到了一些问题

我已经定义了我的 custom_max,它可以在没有 dask 的情况下正常工作。

任何人都可以指导我我犯了什么错误吗?

我正在使用 pandas 0.25.3 和 dask 2.9.0

提前致谢

0 投票
2 回答
391 浏览

python - 迭代 Dask 数据框

我正在尝试从数百个大型 CSV 文件的单个列中创建 Keras Tokenizer 。Dask 似乎是一个很好的工具。我目前的方法最终会导致内存问题:

我怎样才能做到这一点?类似于以下内容:

0 投票
1 回答
322 浏览

python - 尝试使用 Dask Describe 时如何解决值错误?

我正在使用一个超过 10GB 的数据集。我已经设法使用以下代码将其导入到 dask 数据框中:

我一直在尝试运行一个.describe()函数,但我不断收到错误消息:ValueError: No non-trivial arrays found

有谁知道如何克服这个错误?

0 投票
0 回答
606 浏览

scikit-learn - Dask-ML 与 sklearn 随机森林导致连接闭合

我正在尝试使用 Dask-ML 训练模型。我的最终目标是对大于内存的数据集进行预测,因此我正在利用 Dask 的 ParallelPostFit 包装器在相对较小的数据集(4 Gb)上训练模型,并期望稍后我将对更大的数据帧进行预测。我正在连接到一个有 50 个工作人员的 Yarn 集群,将我的数据从 parquet 加载到一个 dask 数据框中,创建一个管道并进行培训。训练有效,但是当我尝试对保留的测试集进行评估时,我遇到了问题。当我使用 sklearn 的 LogisticRegression 作为分类器时,训练和预测运行成功。但是,当我使用具有 100 个估计器的 sklearn 随机森林时,训练步骤成功运行,但在预测时出现以下错误。我在预测计算步骤中注意到,在断开连接错误之前,我的本地机器内存使用量开始爆炸。当我将 RF 估计器的数量减少到 10 个时,预测步骤会成功运行。谁能帮我理解发生了什么?

我的代码(精简)

输出:

0 投票
0 回答
39 浏览

pandas - 在 dask.dataframe 上调用计算将 datetime64[ns] 转换为对象

我在下面尝试了一个 MCVE,但它有效。但是,我的镶木地板文件是在数据块中创建的,我现在正在本地读取它,所以不确定这是否是问题的一部分。因此,对尝试的事情的建议持开放态度。适用于使用to_datetime.

这是我的“现实世界”问题的屏幕截图:

在此处输入图像描述

和这里的代码:

MCVE(但有效):

0 投票
0 回答
23 浏览

python - 以最小化的峰值内存使用量读取和分区数据帧

我有一个具有以下结构的数据框式数据集,在磁盘上存储为大量 csv 文件:

我想将此数据加载到一个 dask 数据框中,并将其拆分为 ' X_train, X_test, y_train, y_test' 样式分区,其中在列上完成训练/测试拆分timestamp,并且X数据框由除target_col. 自然,y数据框仅包含target_col.

我还想将这些数据加载到 LightGBM 数据集中(尽管这是一个选项)。

这是我到目前为止所拥有的:

但是,这具有非常高的峰值内存使用量(远远大于数据集的总大小),我认为我在这里使用 Dask 并没有最大限度地提高效率。有没有更好的方法来做到这一点,“导致较低的峰值内存使用率”更好?

0 投票
0 回答
16 浏览

dask - 使用 `map_partitions` 并行化预测

我有一个形状为 (25M, 79) 的数据框,我试图在其上并行化 sklearn 管道预测。

当我只为一个分区运行它时,它按预期工作:

但是如果我将它应用于每个分区,那么它会失败:

错误是:

我究竟做错了什么?谢谢

0 投票
0 回答
417 浏览

python - Dask read_parquet 用于嵌套镶木地板文件

我有许多 csv 文件(90+)对于内存来说太大了(每个压缩约 0.5gb),它们都具有相同的模式。我想转换为镶木地板,然后使用 dask 进行时间序列分析。

目前我将它们读入 pandas,执行一些类型检查和业务逻辑,然后用于ddf.to_parquet发送到 parquet。我想按日期和版本号分区。因此代码如下所示:

现在这可行,我最终得到一个文件夹结构,如下所示:

'一些/路径/_元数据'

'一些/路径/_common_metadata'

'一些/路径/日期=202001/版本=0/part.0.parquet'

.... 等等。

现在我想读入它并在内存之外进行基本操作。我在阅读时得到奇怪的结果。

我得到以下信息:

现在使用pyarrow.datasetsAPI 效果很好。

我得到以下信息:

这是我所期望的。

有谁知道这里发生了什么?

版本: