【发布时间】:2018-03-27 14:44:44
【问题描述】:
这就是我现在正在做的事情来实现我想要的。
In:
a=numpy.zeros((3,2))
a[range(a.shape[0]),[0,0,1]] = 1
a
Out:
array([[ 1., 0.],
[ 1., 0.],
[ 0., 1.]])
如您所见,我使用range 函数来选择a 中的所有行。还有其他更简洁的方法来选择每一行吗?
【问题讨论】:
-
Cleaner 字符更少?
-
不,我的意思是像内置机制。例如当我们使用
:不带数字时,它可以选择整个维度。我无法让它在这里工作。是否有其他运营商为此目的? -
不,没有。
-
这是选择这 3 个项目( (0,0),(1,0) 和 (2,1) )的正常方式。这是纯粹的简单
advanced索引,有 2 个匹配列表。