0
为什么np.newaxis
总是追加我放置的轴?见例如:numpy newaxis并不总是在我想要的位置追加新的轴
import numpy as np
M = np.array([[1,4],[2,5], [3,4]])
M[:,np.newaxis].shape
# returns (3, 1, 2)
为什么np.newaxis
总是追加我放置的轴?见例如:numpy newaxis并不总是在我想要的位置追加新的轴
import numpy as np
M = np.array([[1,4],[2,5], [3,4]])
M[:,np.newaxis].shape
# returns (3, 1, 2)
按照documents描述newaxis
:
添加的尺寸是在所述选择元组中的newaxis对象的位置。
在您的示例中,newaxis
位于元组的第二个位置,因此插入了长度为1的新维度。
这类似于在特定索引处选择一个值。对于三维A
,您可以使用A[:,0]
从第二个轴检索索引0
值,而不是第三个轴。
如果要添加新中轴线的元组的最后一个位置,你可以写M[:,:,np.newaxis]
或交替使用省略号表示法:
>>> M[...,np.newaxis].shape
(3, 2, 1)
伟大的答案。我很困惑,因为我不知道第二个','在numpy中是可选的,与R不同。所以我认为'np.newaxis'在最后位置而不是第二位。 – Heisenberg 2015-02-05 22:07:12
没问题 - 很高兴它很有用。 – 2015-02-05 22:54:49