Numpy数组算术

数组之所以重要是因为它允许你进行批量操作而无须任何for循环。Numpy用户称这种特性为 向量化。任何在两个等尺寸数组之间的算术操作都应用了逐元素操作的方式:

import numpy as np
arr = np.array([[1,2,3],[4,5,6]])

arr
array([[1, 2, 3],
       [4, 5, 6]])

arr * arr
array([[ 1,  4,  9],
       [16, 25, 36]])

arr - arr
array([[0, 0, 0],
       [0, 0, 0]])

带有标量计算的算术操作,会把计算参数传递给数组的每一个元素:

1/arr
array([[1.        , 0.5       , 0.33333333],
       [0.25      , 0.2       , 0.16666667]])

arr ** 0.5
array([[1.        , 1.41421356, 1.73205081],
       [2.        , 2.23606798, 2.44948974]])

同尺寸数组之间的比较,会产生一个布尔值数组:

arr2 = np.array([[0.,4.,1.],[7.,2.,12.]])

arr2
array([[ 0.,  4.,  1.],
       [ 7.,  2., 12.]])

arr2 > arr
array([[False,  True, False],
       [ True, False,  True]])

不同尺寸的数组间的操作,将会用到 广播特性
广播的规则:如果对于每个结尾维度(即从尾部开始的),轴长度都匹配或者长度都是1,两个二维数组就是可以兼容广播的。之后,广播会在丢失的或长度为1的轴上进行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

格陵Lan丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值