数据分析第四讲:numpy的应用入门(三)

NumPy的应用(三)

数组的运算

使用 NumPy 最为方便的是当需要对数组元素进行运算时,不用编写循环代码遍历每个元素,所有的运算都会自动的矢量化。简单的说就是,NumPy 中的数学运算和数学函数会自动作用于数组中的每个成员。

数组跟标量的运算

NumPy 的数组可以跟一个数值进行加、减、乘、除、求模、求幂等运算,对应的运算会作用到数组的每一个元素上,如下所示。

代码:

array1 = np.arange(1, 10)
print(array1 + 10)
print(array1 * 10)

输出:

[11 12 13 14 15 16 17 18 19]
[10 20 30 40 50 60 70 80 90]

除了上述的运算,关系运算也是没有问题的,之前讲布尔索引的时候已经遇到过了。

代码:

print(array1 > 5)
print(array1 % 2 == 0)

输出:

[False False False False False  True  True  True  True]
[False  True False  True False  True False  True False]
数组跟数组的运算

NumPy 的数组跟数组也可以执行算术运算和关系运算,运算会作用于两个数组对应的元素上,这就要求两个数组的形状(shape属性)要相同,如下所示。

代码:

array2 = np.array([1, 1, 1, 2, 2, 2, 3, 3, 3])
print(array1 + array2)
print(array1 * array2)
print(array1 ** array2)

输出:

[ 2  3  4  6  7  8 10 11 12]
[ 1  2  3  8 10 12 21 24 27]
[  1   2   3  16  25  36 343 512 729]

代码:

print(array1 > array2)
print(array1 % array2 == 0)

输出:

[False  True  True  True  True  True  True  True  True]
[ True  True  True  True False  True False False  True]
通用一元函数

NumPy 中通用一元函数的参数是一个数组对象,函数会对数组进行元素级的处理,例如:sqrt函数会对数组中的每个元素计算平方根,而log2函数会对数组中的每个元素计算以2为底的对数,代码如下所示。

代码:

print(np.sqrt(array1))
print(np.log2(array1))

输出:

[1.         1.41421356 1.73205081 2.         2.23606798 2.44948974
 2.64575131 2.82842712 3.        ]
[0.         1.         1.5849625  2.         2.32192809 2.5849625
 2.80735492 3.         3.169925  ]

表1:通用一元函数

函数 说明
abs / fabs 求绝对值的函数
sqrt 求平方根的函数,相当于array ** 0.5
square 求平方的函数,相当于array ** 2
exp 计算 e x e^x ex的函数
log / log10 / log2 对数函数(e为底 / 10为底 / 2为底)
sign 符号函数(1 - 正数;0 - 零;-1 - 负数)
ceil / floor 上取整 / 下取整
isnan 返回布尔数组,NaN对应True,非NaN对应False
isfinite / isinf 判断数值是否为无穷大的函数
cos / cosh / sin 三角函数
sinh / tan / tanh 三角函数
arccos / arccosh / arcsin 反三角函数
arcsinh / arctan / arctanh 反三角函数
rint
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

weixin_46863529

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

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

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

打赏作者

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

抵扣说明:

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

余额充值