我想从此更改numpy array
的形状......
[ 3803.74060338 2041.36742598 2884.96439427 17561.9569717 ]
到此......
[ [3803.74060338]
[2041.36742598]
[2884.96439427]
[17561.9569717] ]
我正在尝试np.reshape(my_array, (1,1))
,但我一直收到这个错误......
ValueError: total size of new array must be unchanged
reshape
我想在这做什么?
答案 0 :(得分:3)
np.shape()
无效的原因是因为您正在将4个元素阵列重塑为1 x 1。
>>> import numpy as np
>>> a=np.array([1,2,3,4,5])
>>> a
array([1, 2, 3, 4, 5])
>>> a.reshape(len(a),1)
array([[1],
[2],
[3],
[4],
[5]])
>>>
答案 1 :(得分:2)
使用numpy.newaxis
切片以将其他轴放入数组形状中:
>>> my_array = numpy.array([1, 2, 3, 4, 5])
>>> my_array[:, numpy.newaxis]
array([[1],
[2],
[3],
[4],
[5]])
(numpy.newaxis
为None
,因此您也可以直接使用None
。我发现newaxis
更具可读性,但这是个人偏好的问题。)