numpy中的c_和r_的用法
关于numpy中的c_和r_,它们的作用是将两个矩阵拼接到一起。其中c_是将两个矩阵按列拼接到一起,相当于矩阵左右相加,拼接的矩阵行数要相等。而r_是将两个矩阵按行拼接,相当于矩阵上下相加,要求矩阵的列数相等。这里值得注意的是,如果是一维数组,相当于列向量,也就是N×1的矩阵。
Example
定义数组
import numpy as np
# 定义数组
a1 = np.array([1,2,3,4]) # 4×1的矩阵(列向量)
a2 = np.array([5,6,7,8])
aa1 = np.array([[1,2,3,4]]) # 1×4的矩阵(行向量)
aa2 = np.array([[5,6,7,8]])
aa3 = aa1.reshape(2,2) # 转换为2×2的矩阵
aa4 = aa2.reshape(2,2)
c_
np.c_[a1, a2]
print('---------------')
np.c_[aa1, aa2]
print('---------------')
np.c_[aa3, aa4]
结果:
[[1 5]
[2 6]
[3 7]
[4 8]]
---------------------
[[1 2 3 4 5 6 7 8]]
---------------------
[[1 2 5 6]
[3 4 7 8]]
r_
np.r_[a1, a2]
print('---------------')
np.r_[aa1, aa2]
print('---------------')
np.r_[aa3, aa4]
结果:
[1 2 3 4 5 6 7 8]
-----------------
[[1 2 3 4]
[5 6 7 8]]
-----------------
[[1 2]
[3 4]
[5 6]
[7 8]]