如何将numpy数组拆分为单个值?

时间:2018-08-03 15:03:10

标签: python numpy

所以我目前有一个像

这样的numpy数组
[[0, 1, 2, 3, 4]]

但我希望成为

[[0],[1],[2],[3],[4]]

有列表理解方法吗?

3 个答案:

答案 0 :(得分:3)

您的第一个数组可以通过创建

array1 = np.arange(5).reshape((1,5))

打印array1给出

[[0 1 2 3 4]]

您可以使用

array2 = array1.reshape((5,1))

打印出的效果

[[0]
 [1]
 [2]
 [3]
 [4]]

或者,就像我尽早键入的@LucaCappelletti一样,

array2 = array1.T

T的意思是“转置”,交换二维矩阵的列和行。如果array1不只是您认为的那样,这会更简单,但更容易出错。还有一种方法是

array2 = array1.transpose()

基本上是T的同义词。

答案 1 :(得分:2)

您可以使用reshape或翻译T

a = np.array([[0, 1, 2, 3, 4]])

a.reshape(a.size, 1)

a.T

结果是:

array([[0],
       [1],
       [2],
       [3],
       [4]])

答案 2 :(得分:0)

我听说您说过列表理解 :)在这里

a = [[0, 1, 2, 3, 4]]
a_new = [[i] for i in a[0]]
print (a_new)