比如我有个numpy array如下:
>>> a
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]])有什么办法可以可以把a转换为一维的array
array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])或者list的形式?
感谢各位!
4个回答
numpy的array有flatten()方法
>>> a.flatten()
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])如果想要按列展开,可以设置参数为'F'
>>> a.flatten('F')
array([ 1,  4,  7, 10,  2,  5,  8, 11,  3,  6,  9, 12])可以使用flatten与ravel两个函数,区别可以看看下面代码,根据你的需求进行选取
>>> x = np.array([[1, 2], [3, 4]])
>>> y = x.flatten()
>>> y
array([1, 2, 3, 4])
>>> y[0] = 9
>>> y
array([9, 2, 3, 4])
>>> x
array([[1, 2],
       [3, 4]])
>>> z = x.ravel()
>>> z
array([1, 2, 3, 4])
>>> z[0] = 8
>>> z
array([8, 2, 3, 4])
>>> x
array([[8, 2],
       [3, 4]])
    
  相关讨论
  随便看看