我想用张量的特定组件制作一个数组。我找到了很棒的命令np.argwhere()
。这将返回满足特定条件的张量的索引,但是它不将它们命名为张量的组成部分,即它们对于张量[0,0,1,1]
以x[0,0,1,1]
而不是x
返回。
是否有内置或光滑的方式来获取张量的组件,这些组件符合某个标准,其中组件是用它们的索引和附加的张量名称编写的?
答案 0 :(得分:1)
您可以使用where
代替argwhere
...
>>> x = np.arange(6).reshape(2,3)
>>> x
array([[0, 1, 2],
[3, 4, 5]])
>>> np.argwhere(x > 1)
array([[0, 2],
[1, 0],
[1, 1],
[1, 2]])
>>> np.where(x > 1)
(array([0, 1, 1, 1]), array([2, 0, 1, 2]))
>>> x[np.where(x > 1)]
array([2, 3, 4, 5])