如何将一维图元数组转换为二维Numpy数组

  • Post category:Python

将一维图元数组转换为二维Numpy数组可以通过Numpy库中的reshape()函数实现。具体步骤如下:

  1. 导入Numpy库
import numpy as np
  1. 定义一维图元数组
arr1d = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
  1. 使用reshape()函数将一维数组转换为二维数组
arr2d = np.reshape(arr1d, (4, 3))
  1. 查看转换后的二维数组
print(arr2d)

输出:

[[ 0  1  2]
 [ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]]

上述代码中,通过将一维数组arr1d转换为4行3列的二维数组arr2d,其中reshape()函数的第一个参数表示转换后的数组形状,第二个参数为元素的个数。需要注意的是,若其中一个参数为-1,则可以根据另一个参数自动计算。

下面通过两条示例说明转换过程。

示例一

将一维长度为8的数组转换为2行4列的二维数组。

arr1d = [0, 1, 2, 3, 4, 5, 6, 7]

arr2d = np.reshape(arr1d, (2, 4))

print(arr2d)

输出:

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

示例二

将一维长度为15的数组转换为5行3列的二维数组。

arr1d = np.arange(15)

arr2d = np.reshape(arr1d, (5, -1))

print(arr2d)

输出:

[[ 0  1  2]
 [ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]
 [12 13 14]]

通过将参数-1放在转换后数组形状的某一维度上,reshape()函数会自动计算该维度的大小,从而实现了转换。