[英]Numpy reshape array of arrays to 1D
如何使x变成一维数组? 我发现创建这样的x很方便,
x=np.array([[0,-1,0]*12,[-1,0,0]*4])
print x
print len(x)
退货
array([ [0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0],
[-1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0]], dtype=object)
2
我也试过像这样,但是长度仍然是2
y=((0,1,0)*12,(-1,0,0)*4)
print y
退货
((0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0), (-1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0))
我试过使用numpy.reshape(在x和y上):
np.reshape(x,48)
但是我得到这个错误:
ValueError: total size of new array must be unchanged
像我一样声明x或y时是否可以重塑形状?
创建数组时,请使用+
连接列表,而不要将其包装在另一个列表中:
x = np.array([0,-1,0]*12 + [-1,0,0]*4)
我认为您正在寻找一个长度为48的一维numpy数组。
import numpy as np
x=np.array([[0,-1,0]*12])
x= np.append(x,[-1,0,0]*4)
print (x)
print (len(x))
这样产生,
[ 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0
-1 0 0 -1 0 0 -1 0 0 -1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0]
48
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.