Numpy的数学运算


前言

一、Numpy的数学运算

二、 Numpy的Broadcast广播功能

一、 Numpy的数学运算

1.NumPy包含大量的各种数学运算。 NumPy提供标准的三角函数,算术运算功能,处理复数 等。

2.NumPy的标量计算功能,常规的代数运算都可以实现。

3.NumPy的矩阵运算特性,支持同尺寸矩阵的各种数学运算。

数学运算的实操案例

import  numpy as np
# numpy 的基本标量计算功能
a = np.array([10,20,30,40])
print(a+2)          # 一维的标量计算
print(a*2)          # 一维的标量计算
print("*"*30) 
b = np.array([[10,20,30,40],[11,21,31,41]])
print(b+2)          # 二维的标量计算
print(b*2)          # 二维的标量计算

在这里插入图片描述

矩阵运算实操案例

import  numpy as np
# numpy 的矩阵计算功能,规格要求一样
a = np.array([10,20,30,40])
b = np.arange(1,5)
print(a)
print(b)
print(a+b)

在这里插入图片描述

二、 Numpy的Broadcast广播功能

1.功能简介

1.术语广播是指numpy在算术运算期间如何处理具有不同维数的数组,这会导致某些约束,较 小的数组将在较大的数组上广播,以使它们具有兼容的形状。

2.广播提供了一种对数组操作进行矢量化的方法,从而使循环在C中发生,而不是在Python中 发生循环,因为我们知道C是在Numpy中实现的。这样做无需复制不必要的数据,从而可以 实现高效的算法实现。

3.在某些情况下,广播是个坏主意,因为广播会导致内存使用效率低下,从而减慢计算速度。

4.如果数组的尺寸不同,则将低尺寸数组的形状添加1s,直到两个形状的长度相同。

5.如果两个数组的尺寸相同,或者其中一个数组的尺寸为1,则两个数组在尺寸上兼容。

6.如果阵列与所有尺寸兼容,则可以一起广播。

7.广播之后,每个数组的行为就好像它们的形状等于两个输入数组的元素方向的最大值一样。

8.在一个数组的大小为1而另一个数组是大于1的任何维度中,第一个数组的行为就像是沿着该 维度复制的一样。

在这里插入图片描述

numpy 无法实现广播的情况

在这里插入图片描述

import  numpy as np

# numpy 无法实现广播的情况
a = np.array([10,20,30,40])
b = np.arange(1,4)
print(a)           # 四个元素
print(b)           # 三个元素
print(a+b)         # 无法相加,因为形状不一样

在这里插入图片描述

numpy的广播功能

案例一:
在这里插入图片描述

mport  numpy as np

# numpy 的广播功能
a = np.array([[1,2],[3,4],[5,6]])
b = np.array([10,20])
print(a)           
print(b)           
print("*"*30)
print(a+b)

在这里插入图片描述
案例二:
在这里插入图片描述

import  numpy as np

# numpy 实现广播的情况
a = np.array([[1],[2],[3]])
b = np.array([10,20,30])
print(a)
print(b)
print("*"*30)
print(a+b)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值