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] 没用小括号,说明它俩不是函数

使用时注意两者区别

官方文档也说了,它俩不是函数

在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南自动化学院至渝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值