我有一个形状为(5,48,15)
的张量。我如何访问沿第0轴的元素,仍然保持三维而不需要重新整形。例如:指数Numpy张量,无需重塑
x.shape # this is (5,48,15)
m = x[0,:,:]
m.shape # This is (48,15)
m_new = m.reshape(1,48,15)
m_new.shape # This is now (1,48,15)
这是可能的,而不需要重塑?
我有一个形状为(5,48,15)
的张量。我如何访问沿第0轴的元素,仍然保持三维而不需要重新整形。例如:指数Numpy张量,无需重塑
x.shape # this is (5,48,15)
m = x[0,:,:]
m.shape # This is (48,15)
m_new = m.reshape(1,48,15)
m_new.shape # This is now (1,48,15)
这是可能的,而不需要重塑?
当您使用单个整数对轴进行索引时,与x[0, :, :]
一样,返回数组的维也会减1。
要保持三个维度,您可以...
同时为索引插入一个新的轴:
>>> x[None, 0, :, :].shape
(1, 48, 15)
或使用切片:
>>> x[:1, :, :].shape
(1, 48, 15)
或使用花式索引:
>>> x[[0], :, :].shape
(1, 48, 15)
完美的是,片语法是我一直在寻找的。谢谢 – user2726995
选择索引必须是一个切片或列表(或阵列):
m = x[[0],:,:]
m = x[:1,:,:]
m = x[0:1,:,:]
什么是'x'?你可以添加一个样本输入和预期的输出到你的问题?如果你想访问你的数组的第0轴,你不只是'm [0,:,]'? – Kasramvd
我想轴m [0,:,]但保持形状(1,48,15),访问m [0,:,]是(48,15)。只是想知道索引时是否有保留尺寸的方法。 – user2726995