NumPy中vstack、column_stack、row_stack、np.r_、np.c_等函数
NumPy中的vstack、column_stack、row_stack、np.r_、np.c_等函数都是用来操作矩阵的函数,用来实现矩阵拼接、拆分和转换等操作。vstack函数
vstack函数的全称为vertical stack,即垂直拼接函数,用来把一组矩阵按行拼接起来。它的使用方法如下:
arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[11, 12, 13], [14, 15, 16]]) # 拼接 arr3 = np.vstack((arr1, arr2)) print(arr3) # [[ 1 2 3] # [ 4 5 6] # [11 12 13] # [14 15 16]]
从上面的示例可以看出,vstack函数把arr1和arr2按行拼接起来了,拼接后的结果是一个4行3列的矩阵。
column_stack函数
column_stack函数的全称为column stack,即列拼接函数,用来把一组矩阵按列拼接起来。它的使用方法如下:
arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[11, 12, 13], [14, 15, 16]]) # 拼接 arr3 = np.column_stack((arr1, arr2)) print(arr3) # [[ 1 2 3 11 12 13] # [ 4 5 6 14 15 16]]
从上面的示例可以看出,column_stack函数把arr1和arr2按列拼接起来了,拼接后的结果是一个2行6列的矩阵。
row_stack函数
row_stack函数的全称为row stack,即行拼接函数,用来把一组矩阵按行拼接起来。它的使用方法如下:
arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[11, 12, 13], [14, 15, 16]]) # 拼接 arr3 = np.row_stack((arr1, arr2)) print(arr3) # [[ 1 2 3] # [ 4 5 6] # [11 12 13] # [14 15 16]]
从上面的示例可以看出,row_stack函数把arr1和arr2按行拼接起来了,拼接后的结果是一个4行3列的矩阵,与vstack函数的结果完全一致。
np.r_函数
np.r_函数的全称为row concatenation,即行拼接函数,用来把一组矩阵按行拼接起来。它的使用方法如下:
arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[11, 12, 13], [14, 15, 16]]) # 拼接 arr3 = np.r_[arr1, arr2] print(arr3) # [[ 1 2 3] # [ 4 5 6] # [11 12 13] # [14 15 16]]
从上面的示例可以看出,np.r_函数把arr1和arr2按行拼接起来了,拼接后的结果是一个4行3列的矩阵,与vstack和row_stack函数的结果完全一致。
np.c_函数
np.c_函数的全称为column concatenation,即列拼接函数,用来把一组矩阵按列拼接起来。它的使用方法如下:
arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([[11, 12, 13], [14, 15, 16]]) # 拼接 arr3 = np.c_[arr1, arr2] print(arr3) # [[ 1 2 3 11 12 13] # [ 4 5 6 14 15 16]]
从上面的示例可以看出,np.c_函数把arr1和arr2按列拼接起来了,拼接后的结果是一个2行6列的矩阵,与column_stack函数的结果完全一致。
一下,NumPy中的vstack、column_stack、row_stack、np.r_、np.c_等函数都是用来操作矩阵的函数,用来实现矩阵拼接、拆分和转换等操作,它们的使用方法也都是类似的,只需要把需要拼接的矩