【发布时间】:2020-07-05 00:22:33
【问题描述】:
是否有一种简短的单行方法来创建 numpy 数组(可能有多个维度),该数组在某个位置有一个,而在所有其他位置都为零?对于一维数组,可以执行以下操作来创建一个在 k^{th} 位置上具有 1 的数组:
np.eye(1, N, k = k)
如何将其推广到更高维的情况?
【问题讨论】:
-
那么如果数组不是一维数组,那么 os 在哪里, 0 在哪里?是每个最后一维数组的第一个位置的第一个位置唯一的。请举例
-
...“可爱”的方式?
-
@azro 类似这样: np.array([[0, 0, 1], [0, 0, 0]]) - 唯一的一个非零元素位于 [0, 2] .一般来说,如果数组是 N 维的,除了一些 [i_1, i_2, \ldots, i_n] 之外的所有位置都为零,并且在这个位置有 1。