说我有X
矩阵X.ndim = n
。我现在想要创建一个新的矩阵,其中包含n
" singleton"尺寸。
例如,当n=2
和我创建新范围时,我想创建它
>>> bar = np.arange(0, 5)[np.newaxis, np.newaxis, ...]
>>> bar.shape
(1, 1, 5)
使其具有2
单身尺寸。说n = 5
。我如何通常生成bar
(1,1,1,1,1,5)
形状{{1}}?
答案 0 :(得分:2)
一种方法是创建指定ndmin
参数的新数组:
>>> np.array(np.arange(5), ndmin=6).shape
(1, 1, 1, 1, 1, 5)
NumPy在左侧添加了新尺寸。
或者你可以使用reshape
并传入一个指定所需形状的元组:
>>> np.arange(5).reshape((1,)*5 + (5,)).shape
(1, 1, 1, 1, 1, 5)
答案 1 :(得分:0)
>>> n=5
>>> bar = np.arange(0, 5)[(np.newaxis, )*n]
>>> bar.shape
(1, 1, 1, 1, 1, 5)