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

  统计/机器学习 Python    浏览次数:16446        分享
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

1


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

何立诚   2019-11-06 01:40

1

可以使用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



  相关主题

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

有nonetype的list怎么转str   1回答

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

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

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

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

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

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

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

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

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

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



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

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

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

我们谢绝答非所问。

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

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