我有一个numpy数组
0
0
0
.
.
0
0
我想把它作为
np.reshape(new_arr, newshape=1)
我知道我们必须使用reshape函数,但是如何使用它,是我无法弄清楚的,
我的尝试
ValueError: total size of new array must be unchanged
哪个错误
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
documentation不是很友好
答案 0 :(得分:6)
您还可以查看numpy.ndarray.flatten:
a = np.array([[1,2], [3,4]])
a.flatten()
# array([1, 2, 3, 4])
flatten
和ravel
之间的区别在于flatten将返回数组的副本,而ravel会在可能的情况下反射原始数据。因此,如果修改ravel返回的数组,它也可能会修改原始数组中的条目。
创建原始数组的副本通常更安全,但由于必须分配新内存来创建原始数组,因此需要更多时间。
您可以详细了解这两个选项here之间的区别。
答案 1 :(得分:1)
答案 2 :(得分:0)
使用ravel()
方法:
In [1]: arr = np.zeros((2, 2))
In [2]: arr
Out[2]:
array([[ 0., 0.],
[ 0., 0.]])
In [3]: arr.ravel()
Out[3]: array([ 0., 0., 0., 0.])