二维numpy.array转为一维的numpy.array或者list

  统计/机器学习 Python    浏览次数:29054        分享
2

比如我有个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的形式?

感谢各位!


 

TheTheThe   2017-10-15 13:56



   4个回答 
7

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])


SofaSofa数据科学社区DS面试题库 DS面经

ljljlj   2017-10-16 10:37

2

参阅https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.ndarray.flatten.html



SofaSofa数据科学社区DS面试题库 DS面经

黄前志   2017-10-16 22:13

2

可以使用flattenravel两个函数,区别可以看看下面代码,根据你的需求进行选取

>>> 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]])


SofaSofa数据科学社区DS面试题库 DS面经

eleve11   2019-11-07 19:45

1


a.reshape(1, -1)[0]
SofaSofa数据科学社区DS面试题库 DS面经

何立诚   2019-11-06 01:40



  相关讨论

python报错:'list' object has no attribute 'Angle',求教

返回python list里各个元素的大小排序?

怎么把字符串形式的list转成真的list

python如何把list中的item作为变量的后缀 从而产生for中的动态变量名

有nonetype的list怎么转str

re 不能在list 或者dataframe查找?

python字符串形式的数值转成单个整数的list,怎么操作?

python怎么对list中的元素做连乘?

怎么把pandas dataframe中的一列转成一个list?

如何把一个pandas的dataframe的columns转换成list

  随便看看

numpy里生成单位矩阵?

逻辑回归的损失函数是怎么来的

用户人群分层分析的RFM模型是什么?

假设检验中的p值是什么意思?为什么越小越好?

为啥Xgboost比GradientBoost好那么多?