如何在Python中把一维数组作为列转换成二维数组

  • Post category:Python

在Python中,我们可以使用NumPy库来将一维数组作为列转换成二维数组。下面是详细的步骤:

  1. 导入NumPy库
import numpy as np
  1. 创建一维数组
arr = np.array([1, 2, 3, 4, 5, 6])
  1. 将一维数组转换为二维数组
arr_2d = np.reshape(arr, (-1, 1))

其中,reshape()函数将一维数组转换为二维数组,第一个参数是指定行数,第二个参数是指定列数,这里使用-1表示自动计算行数,因为我们要将一维数组作为列转换成二维数组,所以列数为1。

完整代码如下:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
arr_2d = np.reshape(arr, (-1, 1))
print(arr_2d)

输出结果如下:

[[1]
 [2]
 [3]
 [4]
 [5]
 [6]]

下面再给出一种使用np.newaxis的方法,并且举一个列表中含有字典元素的情况。

import numpy as np

mylist=[{'a':1,'b':2},{'a':3,'b':4},{'a':5,'b':6}]
arr = np.array([x['a'] for x in mylist])
arr_2d = arr[:,np.newaxis]
print(arr_2d)

输出结果如下:

[[1]
 [3]
 [5]]

其中,[:,np.newaxis]表示在原数组的第二个维度(即列)上新增一个维度,该维度刚好拥有1个元素,从而将一维数组转换为二维数组。

总的来说,以上两种方法都能够实现一维数组作为列转换成二维数组的要求。在实际应用中根据场景选择更加方便的方法即可。