Python 如何将数组的numpy数组重塑为单行
我有一个numpy数组作为Python 如何将数组的numpy数组重塑为单行,python,arrays,numpy,Python,Arrays,Numpy,我有一个numpy数组作为 [[0 0 0 ..., 0 0 0] [0 0 0 ..., 0 0 0] [0 0 0 ..., 0 0 0] ..., [0 0 0 ..., 0 0 0] [0 0 0 ..., 0 0 0] [0 0 0 ..., 0 0 0]] 我想把它作为 0 0 0 . . 0 0 我知道我们必须使用重塑函数,但如何使用它,我不知道 我的尝试 np.reshape(new_arr, newshape=1) 这是一个错误 ValueError:
[[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
...,
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]
[0 0 0 ..., 0 0 0]]
我想把它作为
0
0
0
.
.
0
0
我知道我们必须使用重塑函数,但如何使用它,我不知道
我的尝试
np.reshape(new_arr, newshape=1)
这是一个错误
ValueError: total size of new array must be unchanged
不太友好使用ravel方法:
您还可以查看: 展平和拉威尔之间的区别在于展平将返回数组的副本,而拉威尔将尽可能引用原始数组。因此,如果修改ravel返回的数组,它也可能修改原始数组中的条目 创建原始阵列的副本通常更安全,但由于必须分配新内存来创建它,因此需要花费更多的时间 您可以阅读有关这两个选项之间差异的更多信息。根据: 其中,n和m分别是new_arr的行数和列数np.reformenew_arr,newshape=-1。-1允许numpy计算所需的形状。
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.])
a = np.array([[1,2], [3,4]])
a.flatten()
# array([1, 2, 3, 4])
np.reshape(new_arr, newshape=n*m)