标签: dask

对 dask 数组中的 n 个单独元素进行切片

假设我有一个 3D dask 数组,代表整个美国的温度时间序列,[Time, Lat, Lon]。我想要获取 100 个不同位置的表格时间序列。使用 numpy 的花哨索引,这看起来像[:, [lat1, lat2...], [lon1, lon2...]]. Dask 数组尚不允许这种索引。考虑到这种限制,完成这项任务的最佳方法是什么?

python arrays numpy dask

4
推荐指数
1
解决办法
1028
查看次数

本地 Dask 工作线程无法连接到本地调度程序

在 OSX 10.12.6 上运行 Dask 0.16.0 时,我无法将本地连接dask-worker到本地dask-scheduler. 我只是想遵循官方Dask 教程。重现步骤:

第 1 步:运行dask-scheduler

在此输入图像描述

第 2 步:运行dask-worker 10.160.39.103:8786

在此输入图像描述

该问题似乎与 dask 调度程序有关,而不是与工作人员有关,因为我什至无法通过其他方式访问该端口(例如nc -zv 10.160.39.103 8786)。

在此输入图像描述

然而,该进程显然仍在机器上运行:

在此输入图像描述

dask dask-distributed

4
推荐指数
1
解决办法
2509
查看次数

根据条件删除 dask dataFrame 中的行

我试图在我的 dask 数据框中删除一些行:

df.drop(df[(df.A <= 3) | (df.A > 1000)].index)
Run Code Online (Sandbox Code Playgroud)

但是这个不起作用并返回 NotImplementedError: Drop currently only works for axis=1

我真的需要帮助

data-analysis dataframe python-3.x dask

4
推荐指数
1
解决办法
3942
查看次数

Dask 计算速度很慢

我有一个包含 500 万条记录的数据框。我试图通过利用 python 中的 dask 数据帧使用下面的代码来处理它

 import dask.dataframe as dd                                          
 dask_df = dd.read_csv(fullPath)
 ............
 for index , row in uniqueURLs.iterrows():
   print(index);
   results = dask_df[dask_df['URL'] == row['URL']]
   count = results.size.compute();
Run Code Online (Sandbox Code Playgroud)

但我注意到 dask 在过滤数据帧方面非常有效,但不是在 .compute() 中。因此,如果我删除了计算结果大小的行,我的程序就会变得非常快。有人可以解释一下吗?我怎样才能让它更快?

python performance python-3.x dask dask-distributed

4
推荐指数
1
解决办法
3205
查看次数

Dask 读取 csv 与 Pandas 读取 csv

我有以下问题。我有一个巨大的 csv 文件,想用多处理加载它。对于具有 500000 行和 130 个具有不同 dtype 的列的示例文件,Pandas 需要 19 秒。我尝试了 dask,因为我想多处理阅读。但这需要更长的时间,我想知道为什么。我有 32 个内核。并尝试了这个:

import dask.dataframe as dd
import dask.multiprocessing
dask.config.set(scheduler='processes')
df = dd.read_csv(filepath,  
             sep='\t',
            blocksize=1000000,
             )
df = df.compute(scheduler='processes')     # convert to pandas
Run Code Online (Sandbox Code Playgroud)

python csv pandas dask

4
推荐指数
1
解决办法
2030
查看次数

关闭 dask 客户端警告

我的 Jupyter Notebook 输出中出现 Dask 客户端垃圾邮件警告。有没有办法关闭 dask 警告?

警告文本如下所示:“distributed.worker - 警告 - 内存使用率很高,但工作人员没有数据可存储到磁盘。也许其他进程正在泄漏内存?进程内存:3.16 GB -- 工作人员内存限制:4.20 GB”

问题出现在这些代码之后:

import pandas as pd
from sqlalchemy import create_engine, MetaData
from sqlalchemy import select, insert, func
import dask.dataframe as dd

from dask.distributed import Client
client = Client(n_workers=4, threads_per_worker=4, processes=False)

engine = create_engine(uri)
meta_core = MetaData()
meta_core.reflect(bind=engine)

table = meta_core.tables['table']

dd_main = dd.read_sql_table(
    table=table,
    uri=uri,
    index_col='id'
)

dd_main.head()
Run Code Online (Sandbox Code Playgroud)

执行上面的块后,我在每个 Jupyter 单元格中都会收到很多这样的警告,所以我什至找不到我的实际输出。

python dask jupyter-notebook

4
推荐指数
2
解决办法
1033
查看次数

Dask 因 freeze_support 错误而失败

我尝试运行一个非常简单的 Dask 程序,如下所示:

# myfile.py
from dask.distributed import Client

client = Client()
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个程序时,我得到了这个奇怪的错误

    An attempt has been made to start a new process before the
    current process has finished its bootstrapping phase.

    This probably means that you are not using fork to start your
    child processes and you have forgotten to use the proper idiom
    in the main module:

        if __name__ == '__main__':
            freeze_support()
            ...

    The "freeze_support()" line can be omitted if the program
    is not going to be frozen …
Run Code Online (Sandbox Code Playgroud)

python python-multiprocessing dask

4
推荐指数
1
解决办法
1116
查看次数

Groupby 并移动一个 dask 数据框

我想使用 dask 2.14 扩展我在 Pandas 数据帧上执行的一些操作。例如,我想对数据框的列应用移位:

import dask.dataframe as dd
data = dd.read_csv('some_file.csv')
data.set_index('column_A')
data['column_B'] = data.groupby(['column_A'])['column_B'].shift(-1)
Run Code Online (Sandbox Code Playgroud)

但是我AttributeError: 'SeriesGroupBy' object has no attribute 'shift' 读了 dask 文档,发现没有这样的方法(而在熊猫中)

你能提出一些有效的替代方案吗?

谢谢

python dask

4
推荐指数
1
解决办法
570
查看次数

在 PythonScriptStep 中使用 Dask 集群

是否可以将多节点 Dask 集群用作PythonScriptStepAML 管道的计算?

我们有一个PythonScriptStep使用featuretools's 的深度特征合成 ( dfs) ( docs )。ft.dfs()有一个n_jobs允许并行化的参数。当我们在一台机器上运行时,这项工作需要三个小时,而在 Dask 上运行得更快。如何在 Azure ML 管道中实施此操作?

dask azure-machine-learning-service

4
推荐指数
1
解决办法
170
查看次数

错误:找不到满足 dask-cudf 要求的版本(来自版本:无)

描述错误

当我尝试时,import dask_cudf出现以下错误:


---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-11-afb970ad91bb> in <module>()
      8 from dask_cuda import LocalCUDACluster
      9 import dask_xgboost
---> 10 import dask_cudf
     11 import dask
     12 from xgboost.dask import DaskDMatrix

ModuleNotFoundError: No module named 'dask_cudf'

---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.

To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------

Run Code Online (Sandbox Code Playgroud)

我用 pip 安装了 …

python gpu python-3.x dask rapids

4
推荐指数
1
解决办法
645
查看次数