>>> print np.array([np.arange(10)]).transpose()
[[0]
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]]
有没有办法在不必经过这些额外步骤的情况下获得垂直范围?
答案 0 :(得分:15)
您可以使用np.newaxis:
>>> np.arange(10)[:, np.newaxis]
array([[0],
[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9]])
np.newaxis
只是None
的别名,由numpy
开发人员添加,主要是为了提高可读性。因此np.arange(10)[:, None]
将产生与上述解决方案完全相同的结果。
修改强>
另一种选择是:
np.expand_dims(np.arange(10), axis=1)
答案 1 :(得分:13)
我愿意:
np.arange(10).reshape((10, 1))
与np.array不同,reshape是一种轻量级操作,不会复制数组中的数据。