Python dask 数组对象的项分配

2023-11-22

我创建了一个 Python dask 数组,并尝试按如下方式修改数组的一部分:

import numpy as np
import dask.array as da

x = np.random.random((20000, 100, 100)) # Create numpy array
dx = da.from_array(x, chunks=(x.shape[0], 10, 10)) # Create dask array from numpy array

dx[:50, :, :] = 0 # Modify a slice of the dask array

尝试修改 dask 数组会引发异常:

TypeError: 'Array' object does not support item assignment

有没有办法修改 dask 数组切片而不引发异常?


现在dask.array不支持项目分配或任何其他变异操作。

在上面的情况下,我建议用零连接

In [1]: import dask.array as da

In [2]: dx = da.random.random((20000 - 50, 100, 100), chunks=(None, 10, 10))

In [3]: z = da.zeros((50, 100, 100), chunks=(50, 10, 10))

In [4]: dx2 = da.concatenate([z, dx], axis=0)

In [5]: dx2
Out[5]: dask.array<concate..., shape=(20000, 100, 100), dtype=float64, chunksize=(50, 10, 10)>

In [6]: (dx2 == 0)[0:100, 0, 0].compute()
Out[6]: 
array([ True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True,  True,  True,  True,  True,
        True,  True,  True,  True,  True, False, False, False, False,
       False, False, False, False, False, False, False, False, False,
       False, False, False, False, False, False, False, False, False,
       False, False, False, False, False, False, False, False, False,
       False, False, False, False, False, False, False, False, False,
       False, False, False, False, False, False, False, False, False, False], dtype=bool)

The da.where(condition, iftrue, iffalse)函数在解决经常需要突变的情况时也非常有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python dask 数组对象的项分配 的相关文章

随机推荐

  • Android 中 raw 和 asset 文件夹的存储限制

    我想将一些视频 音频文件存储在我的应用程序的原始文件夹中 我不知道 raw 和 asset 文件夹的存储限制 谁能告诉我可以在原始文件夹和资产文件夹中存储多少数据 另外 如果我将大量数据存储在这些文件夹中 是否会影响执行速度或从市场下载的应
  • 非托管 DLL 无法在 ASP.NET 服务器上加载

    这个问题涉及一个 ASP NET 网站 最初是在 VS 2005 中开发的 现在是在 VS 2008 中开发的 该网站使用两个非托管外部 DLL 它们不是 NET 我没有编译它们的源代码 必须按原样使用它们 该网站在 Visual Stud
  • 我如何理解 fdump-class-hierarchy 输出

    我正在使用 fdump class hierarchy 编译器选项 但我不知道如何理解输出 大小 对齐 基本大小 和 基本对齐 是什么意思 它们是如何计算的 谢谢 当代码为 class A public private double m n
  • MOTODEV Studio 与 Android Google 插件 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 有人有什么意见 经验 建议
  • 如何在不使用 ping 的情况下检查 Web 服务是否已启动并正在运行?

    我如何检查 Web 服务中的方法是否正常工作 我无法使用 ping 我仍然想检查客户端从 Web 服务调用的任何类型的方法 我知道这很难一概而论 但应该有某种方法 我使用这个方法并且效果很好 public bool IsAddressAva
  • 致命错误:numpy/arrayobject.h:没有这样的文件或目录

    我能分享的内容有限 因为这是我从 Ubuntu 14 04 移植到 16 04 的大量代码的一部分 这应该是微不足道的 但不知怎的 我正在为此苦苦挣扎 没找到numpy arrayobject h我在源文件中引用 include
  • UTF-8 是目前非 ASCII 字符 QR 码的首选编码吗?

    Google 使用 UTF 8 作为其非常流行的编码器的默认值 据我所知 他们甚至没有添加字节顺序标记 问题是大多数扫描仪似乎仍然使用 JIS8 QR 2000 而不是默认的 iso 8859 QR 2005 因此使用 iso 8859 进
  • 如何刷新我从 iOS 中的 google oauth 2.0 获得的令牌

    我正在制作一个 iOS 应用程序 它使用用户的 google 帐户从他的 YouTube 帐户获取数据并向他们显示 第一步是使用 gtm2 对用户进行身份验证并获取访问令牌和刷新令牌 问题是访问令牌在 60 分钟后过期 我必须再次登录并允许
  • 以编程方式多次更改操作栏颜色

    我在用 getSherlockActivity getSupportActionBar setBackgroundDrawable new ColorDrawable 0xff00ACED 要更改片段中操作栏的颜色 它可以工作 但是 如果我
  • 如何在sql server 2005中获取x和y之间的日期表

    我只是想要一种快速的方法 最好不使用 while 循环 创建日期 x 和日期 y 之间的每个日期的表 这样我就可以将外部连接保留到一些统计表 其中一些统计表没有某些记录之间的天数 允许我用 0 标记缺失的天数 严格来说 这并不能完全回答你的
  • C++ 缓冲流 IO

    据我了解 默认情况下 C 支持的所有流 IO 都会被缓冲 这意味着要输出的数据被放入缓冲区 直到缓冲区满 然后发送到输出设备 类似地 对于输入 一旦缓冲区为空 就会读取数据 所有这些都完成了 这样就减少了昂贵的系统数量可以尽量减少通话次数
  • C# 中 Task.FromResult 有什么用

    在 C 和 TPL 中 任务并行库 the Task类代表一项正在进行的工作 它产生 T 类型的值 我想知道需要什么任务 FromResult方法 也就是说 在您手头已经有了生产值的情况下 需要将其包装回任务中吗 唯一想到的是它被用作接受任
  • 解析 applicationContext.xml 会呈现“java.lang.NoSuchMethodError”。这可能是由依赖性问题引起的吗?

    我正在使用带注释的应用程序上下文调用测试方法 Junit ContextConfiguration locations classpath applicationContext xml 测试失败并显示以下堆栈跟踪 11 20 39 793
  • 如何使用 JavaScript 正则表达式替换字符串中双引号之间的文本?

    我有一个 JS 字符串 其中包含双引号之间的文本 我想使用正则表达式将该文本替换为另一个用户输入的文本 但我不知道该怎么做 例如 给定字符串 The book A Farewell to Arms will be published aga
  • jQuery 单击除 div 及其子元素之外的所有内容

    我想在单击任意位置时执行某些操作 但单击 div 及其子级时除外 这是我到目前为止所尝试过的 但它不起作用 单击它的子级仍然会执行括号内的内容 body on click not calculator function e 我不能使用这样的
  • 动态更改android gridview中的列号?

    我的应用程序在 gridview 中以横向显示图像图标 为此 我使用 xml 作为
  • 根据一列对另一列进行排序

    我想根据 B 列的值对 A 列进行排序 在 Google 表格中 这很简单 SORT A1 A100 B1 B100 TRUE 如何做到这一点Excel 要手动执行此操作 您可以突出显示要排序的所有列 然后单击 主页 选项卡中 排序和过滤
  • 在 Matplotlib 极坐标图上设置径向轴

    我正在极坐标图上绘制方位角 仰角曲线 其中仰角是径向分量 默认情况下 Matplotlib 绘制从中心 0 到周边 90 的径向值 我想扭转它 所以 90 度是在中心 我尝试通过调用 ax set ylim 90 0 设置限制 但这会导致抛
  • 如何使用数据关闭来关闭引导面板?

    我有一个打开面板的按钮 我希望能够像使用警报一样关闭它 Bootstrap 文档中的默认面板示例 div class panel panel default div class panel heading Panel heading wit
  • Python dask 数组对象的项分配

    我创建了一个 Python dask 数组 并尝试按如下方式修改数组的一部分 import numpy as np import dask array as da x np random random 20000 100 100 Creat