将一维图元数组转换为二维Numpy数组可以通过Numpy库中的reshape()
函数实现。具体步骤如下:
- 导入Numpy库
import numpy as np
- 定义一维图元数组
arr1d = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
- 使用
reshape()
函数将一维数组转换为二维数组
arr2d = np.reshape(arr1d, (4, 3))
- 查看转换后的二维数组
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()
函数会自动计算该维度的大小,从而实现了转换。