numpy的broadcast广播机制、维度、轴

当numpy数组形状不同时,可通过广播机制实现运算。广播原则:后缘维度相同或一方长度为1。例如(4,3)+(3), (3,4,2)+(4,2)等。广播会在缺失或长度为1的维度上扩展,如(4,3)+(4,1)会沿轴1扩展。广播不仅限于不同维数的数组,相同维数但某轴为1的情况也适用,如(4,1)+(4,5)。" 133392521,19694795,Yii2框架的日期与时间处理技巧,"['PHP', 'Yii2框架', '日期与时间处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

numpy两个数组的相加、相减以及相乘都是对应元素之间的操作。

import numpy as np

x = np.array([[2, 2, 3], [1, 2, 3]])
y = np.array([[1, 1, 3], [2, 2, 4]])
print(x*y)
# 与线性代数中的矩阵相乘不一样。


输出结果为:
[[ 2  2  9]
 [ 2  4 12]]

 当两个数组的形状不相同的时候,我们可以通过扩展数组的方法来实现相加、相减、相乘等操作,这种机制叫做广播(broadcasting)。


广播的原则:如果两个数组的后缘维度(trailing dimension,即从末尾开始算起的维度)的轴长度相符,或其中的一方的长度为1,则认为它们是广播兼容的。广播会在缺失长度为1的维度上进行。

广播主要发生在两种情况,一种是两个数组的维数不相等,但是它们的后缘维度的轴长相符;另外一种是有一方的长度为1


数组维度不同,后缘维度的轴长相符

import numpy as np
arr1 = np.array([[0,0,0], [1,1,1,], [2,2,2,], [3,3,3]])
arr2 = np.array([1,2,3])
arr_sum &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值