如何将数组a转换为下面的数组b?

时间:2019-12-17 09:44:34

标签: arrays numpy

我有以下两个数组a和b。

from numpy import array

a = array([0, 1, 1, 0, 0])

b = array([[0],
           [1],
           [1],
           [0],
           [0]])

如何将数组a转换为数组b?

3 个答案:

答案 0 :(得分:3)

重塑方法的替代方法是:

a = np.array([0, 1, 1, 0, 0])
b = a[:,None]
b 
array([[0],
       [1],
       [1],
       [0],
       [0]])

None将为数组添加额外的维度

答案 1 :(得分:2)

Python可以使用1维来处理向量,例如[N, ]。 在这里,您要将其转换为2D列向量。

使用.reshape()

from numpy import array

a = array([0, 1, 1, 0, 0])
print(a.shape)
(5,)

b = a.reshape(-1,1) # this is what you need
print(b.shape)
(5, 1)

print(b)
array([[0],
       [1],
       [1],
       [0],
       [0]])

编辑:

c = a.reshape(1,-1)

c.shape
(1, 5)

答案 2 :(得分:1)

您可以使用名为reshape的numpy函数。

import numpy as np
a = np.array([0,1,1,0,0])
b = a.reshape(5,1)