1. 使用Python生成矩阵
在Python中生成矩阵可以使用numpy模块。下面是一个简单的生成一个3 x 3矩阵的代码:
import numpy as np
matrix = np.zeros((3, 3))
print(matrix)
上面的代码输出矩阵的结果为:
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
2. 添加自定义维度
添加自定义维度即在原矩阵的基础上增加一个维度。在numpy中,我们可以使用np.newaxis来实现。下面的代码演示了如何在一个3 x 3矩阵中增加一个维度:
import numpy as np
matrix = np.zeros((3, 3))
new_matrix = matrix[:, :, np.newaxis]
print(new_matrix.shape)
上面的代码输出矩阵的结果为:
(3, 3, 1)
可以看到,原来的3 x 3矩阵增加了一个维度,变成了3 x 3 x 1的矩阵。
3. 在矩阵中添加数据
3.1 在矩阵末尾添加数据
在numpy中,我们可以使用np.concatenate函数将多个矩阵合并成一个。下面的代码演示了如何在原矩阵的末尾添加数据:
import numpy as np
matrix = np.zeros((3, 3))
data = np.ones((3, 1))
new_matrix = np.concatenate([matrix, data], axis=1)
print(new_matrix)
上面的代码输出矩阵的结果为:
array([[0., 0., 0., 1.],
[0., 0., 0., 1.],
[0., 0., 0., 1.]])
可以看到,原矩阵的每一行末尾都添加了一个1。
3.2 在矩阵中间添加数据
在numpy中,我们可以使用np.insert函数在矩阵的某个位置插入数据。下面的代码演示了如何在原矩阵的第二列中插入数据:
import numpy as np
matrix = np.zeros((3, 3))
data = np.array([[1], [2], [3]])
new_matrix = np.insert(matrix, 1, data, axis=1)
print(new_matrix)
上面的代码输出矩阵的结果为:
array([[0., 1., 0., 0.],
[0., 2., 0., 0.],
[0., 3., 0., 0.]])
可以看到,原矩阵的第二列中插入了数据。
4. 小结
在numpy中,我们可以使用np.newaxis来增加自定义维度,使用np.concatenate和np.insert函数在矩阵中添加数据。
下面是完整的代码:
import numpy as np
matrix = np.zeros((3, 3))
new_matrix = matrix[:, :, np.newaxis]
print(new_matrix.shape)
data = np.ones((3, 1))
new_matrix = np.concatenate([matrix, data], axis=1)
print(new_matrix)
data = np.array([[1], [2], [3]])
new_matrix = np.insert(matrix, 1, data, axis=1)
print(new_matrix)