我遇到过一些我不完全理解的语法。这是:
array[:, mask] = a
字符串array是一个numpy的索引数组,mask是一个numpy的布尔值数组,a是一个整数。有人能帮我翻译一下这个符号吗?我在网上找不到答案。
array
mask
a
ru9i0ody1#
翻译:
[:]
True
所以它将a写入所有矩阵单元,其中masks包含True值。下面是一个例子:
masks
import numpy as np array = np.array([ [1,5,3], [1,5,3], [1,5,3], ]) mask = np.array( [True,False,True] ) array[:, mask] = 10 print(array)
字符串结果:
[[10 5 10] [10 5 10] [10 5 10]]
型
rlcwz9us2#
有关切片的更详细答案,请参阅此How slicing in Python works。可以使用掩码而不是显式范围来选择特定索引。回到你的问题,它会选择所有的行,只选择掩码值为true的那些列,所以所有这些单元格都将被替换为整数a。
2条答案
按热度按时间ru9i0ody1#
翻译:
array
中[:]
(在本例中均为)mask
包含True
的每一列执行a
所以它将
a
写入所有矩阵单元,其中masks
包含True
值。下面是一个例子:
字符串
结果:
型
rlcwz9us2#
有关切片的更详细答案,请参阅此How slicing in Python works。可以使用掩码而不是显式范围来选择特定索引。回到你的问题,它会选择所有的行,只选择掩码值为true的那些列,所以所有这些单元格都将被替换为整数a。