在以下代码中,转置有效。
b = numpy.arange(4,3)
print(b[1:3,-1:)
print(b[1:3,-1:].shape)
print(b[1:3,-1:].T)
print(b[1:3,-1:].T.shape)
在下列情况下,转置不会。
b = numpy.arange(4,3)
print(b[1:3,-1)
print(b[1:3,-1].shape)
print(b[1:3,-1].T)
print(b[1:3,-1].T.shape)
答案 0 :(得分:2)
根据您是使用范围还是标量切片,切片numpy数组的行为会有所不同。您的第一个示例切片具有范围,因此尽管最终只有第二个维度的大小为1,但该维度仍然存在。您的第二个示例切片带有标量,在这种情况下,合适的维度将被折叠。所以在第二个例子中,你留下了一个一维数组,它在转置下没有做任何事情 - 它没有任何其他尺寸可以交换。