NumPy中vstack、column_stack、row_stack、np.r_、np.c_等函数的介绍

分类:知识百科 日期: 点击:0

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_等函数都是用来操作矩阵的函数,用来实现矩阵拼接、拆分和转换等操作,它们的使用方法也都是类似的,只需要把需要拼接的矩

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。