比如我想要这样的矩阵:
In [10]: np.array([[(123, 3, 21)] * 3] * 2)
Out[10]:
array([[[123, 3, 21],
[123, 3, 21],
[123, 3, 21]],
[[123, 3, 21],
[123, 3, 21],
[123, 3, 21]]])
Numpy 里有什么办法能代替如此粗鲁的「列表乘法」?显然 numpy.full
不行,因为它只能用一个 scalar 填充矩阵,不能用 [123, 3, 21]
填充。
此外我还想给某矩阵「加若干维」:
In [11]: a = np.arange(10)
In [13]: b = np.asarray([a])
In [14]: b
Out[14]: array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
比如我想给现成的 a
加一维,只能如此手动包装 np.asarray([a])
, 不知 Numpy 有什么 numpy.squeeze
的「反函数」可以拿来用。
첫 번째 질문은 위의 질문을 참조하세요. 두 번째 확장 위도에 대해서는 numpy에 특별한 기능이 있습니다.
으아악expand_dims
으아악 으아악