【发布时间】:2021-05-22 19:32:41
【问题描述】:
考虑一些数组arr 和高级索引掩码mask:
import numpy as np
arr = np.arange(4).reshape(2, 2)
mask = A < 2
使用高级索引创建数组的新副本。因此,不能将掩码与附加掩码“链接”,甚至不能使用基本切片操作来替换数组元素:
submask = [False, True]
arr[mask][submask] = -1 # chaining 2 masks
arr[mask][:] = -1 # chaining a mask with a basic slicing operation
print(arr)
[[0 1]
[2 3]]
我有两个相关的问题:
1/ 使用链式掩码替换数组元素的最佳方法是什么?
2/ 如果高级索引返回一个数组的副本,为什么下面会起作用?
arr[mask] = -1
print(arr)
[[-1 -1]
[ 2 3]]
【问题讨论】:
标签: python numpy numpy-ndarray numpy-slicing