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

  统计/机器学习 Python    浏览次数:20575        分享
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里各个元素的大小排序?   1回答

python里怎么把中文字符串转化为成list   2回答

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

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

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

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

有nonetype的list怎么转str   1回答

python中怎么对list中元素进行有放回抽样?   1回答

re 不能在list 或者dataframe查找?   1回答

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

python里list的remove和pop方法的时间复杂度是多少?   1回答

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



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!