np.c_和np.r_的使用说明(功能和hstack、vstack一样)
作者:互联网
先说结论
np.r_是按行方向扩展连接两个矩阵(row的缩写r),就是把两矩阵上下相加,要求列数相等。作用等同于 vstack 函数
np.c_是按列方向扩展连接两个矩阵(column的缩写c),就是把两矩阵左右相加,要求行数相等。作用等同于 hstack 函数
测试代码
import numpy as np
z = np.random.randint(10, 20, (3, 3))
k = np.random.randint(1, 10, (3, 3))
print(z)
print(k)
print("列方向扩展连接(hstack函数)", '\n', np.hstack([z, k]))
print("行方向扩展连接(vstack函数)", '\n', np.vstack([z, k]))
print("列方向扩展连接(c_)", '\n', np.c_[z, k])
print("行方向扩展连接(r_)", '\n', np.r_[z, k])
结果示意
[[13 18 19]
[13 12 19]
[10 11 17]]
[[9 6 4]
[1 5 7]
[1 4 8]]
列方向扩展连接(hstack函数)
[[13 18 19 9 6 4]
[13 12 19 1 5 7]
[10 11 17 1 4 8]]
行方向扩展连接(vstack函数)
[[13 18 19]
[13 12 19]
[10 11 17]
[ 9 6 4]
[ 1 5 7]
[ 1 4 8]]
列方向扩展连接(c_)
[[13 18 19 9 6 4]
[13 12 19 1 5 7]
[10 11 17 1 4 8]]
行方向扩展连接(r_)
[[13 18 19]
[13 12 19]
[10 11 17]
[ 9 6 4]
[ 1 5 7]
[ 1 4 8]]
功能上 np.r_ 等同于 hstack 函数,np.c_ 等同于 vstack 函数
注意一点是
调用时 hstack 函数 vstack 函数是np.hstack([a,b])
和 np.vstack([a,b])
它俩是函数,有小括号。
而 r_ 、 c_ 在调用时是np.r_[a, b]
和np.c_[a, b]
没用小括号,说明它俩不是函数
使用时注意两者区别
官方文档也说了,它俩不是函数
标签:13,函数,hstack,19,vstack,np 来源: https://www.cnblogs.com/2944014083-zhiyu/p/14856115.html