Numpy组队学习第四次打卡

10 向量化和广播

广播(Broadcasting)机制描述了 numpy 如何在算术运算期间处理具有不同形状的数组,让较小的数组在较大的数组上“广播”,以便它们具有
兼容的形状。
广播的规则

  1. 如果两个数组的维度数dim不相同,那么小维度数组的形状将会在左边补1
  2. 如果shape维度不匹配,但是有维度是1,那么可以扩展维度是1的维度匹配另一个数组;
  3. 如果shape维度不匹配,但是没有任何一个维度是1,则匹配引发错误;
import numpy as np 
x = np.arange(4) 
y = np.ones((3, 4)) 
print(x.shape)
# (4,) print(y.shape) 
# (3, 4) print((x + y).shape) 
# (3, 4) print(x + y) 
# [[1. 2. 3. 4.] 
# [1. 2. 3. 4.] 
# [1. 2. 3. 4.]]

11 数学函数

11.1 算术运算

11.1.1 numpy.add

11.1.2 numpy.subtract

11.1.3 numpy.multiply

11.1.4 numpy.divide

11.1.5 numpy.floor_divide

11.1.6 numpy.power

11.1.7 numpy.sqrt

11.1.8 numpy.square

import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8]) 
y = x + 1 
print(y) 
print(np.add(x, 1)) 
# [2 3 4 5 6 7 8 9] 

y = x - 1 
print(y) 
print(np.subtract(x, 1)) 
# [0 1 2 3 4 5 6 7] 

y = x * 2 
print(y) 
print(np.multiply(x, 2)) 
# [ 2 4 6 8 10 12 14 16] 

y = x / 2 
print(y) 
print(np.divide(x, 2)) 
# [0.5 1. 1.5 2. 2.5 3. 3.5 4. ]
 
y = x // 2 
print(y) 
print(np.floor_divide(x, 2)) 
# [0 1 1 2 2 3 3 4] 

y = x ** 2 
print(y) 
print(np.power(x, 2))

x = np.arange(1, 5) 
print(x) 
# [1 2 3 4] 
y = np.sqrt(x) 
print(y) 
# [1. 1.41421356 1.73205081 2. ] 

print(np.power(x, 0.5))
# [1. 1.41421356 1.73205081 2. ] 
y = np.square(x) 
print(y) 
# [ 1 4 9 16]
print(np.power(x, 2)) 
# [ 1 4 9 16]

11.2 三角函数

11.2.1 numpy.sin

11.2.2 numpy.cos

11.2.3 numpy.tan

11.2.4 numpy.arcsin

11.2.5 numpy.arccos

11.2.6 numpy.arctan

11.3 指数和对数

11.3.1 numpy.exp

11.3.2 numpy.log

11.3.3 numpy.exp2

11.3.4 numpy.log2

11.3.5 numpy.log10

11.4 加法函数、乘法函数

11.4.1 numpy.sum

numpy.sum(a[, axis=None, dtype=None, out=None, …])
返回沿axis的元素和

11.4.2 numpy.cumsum

numpy.cumsum(a, axis=None, dtype=None, out=None)
返回沿axis方向逐项累加的和

11.4.3 numpy.prod 乘积

numpy.prod(a[, axis=None, dtype=None, out=None, …])
返回给定axis上的元素之积

11.4.4 numpy.cumprod 累乘

numpy.cumprod(a, axis=None, dtype=None, out=None)
返回沿axis方向累乘的积

11.4.5 numpy.diff 差值

numpy.diff(a, n=1, axis=-1, prepend=np._NoValue, pend=np._NoValue)
沿着axis计算n次差值

  1. a:输入矩阵
  2. n:可选,代表要执行几次差值
  3. axis:默认是最后一个

11.5 取整

11.5.1 numpy.around 四舍五入

11.5.2 numpy.ceil 向上取整

11.5.3 numpy.floor 向下取整

11.6 其他

11.6.1 numpy.clip 裁剪

11.6.2 numpy.absolute numpy.abs

numpy.absolute(x, *args, **kwargs)
按元素计算绝对值
numpy.abs(x, *args, **kwargs)
absolute的简写…

11.6.3 numpy.sign

numpy.sign(x, *args, **kwargs)
返回元素对应的符号

12 逻辑函数

12.1 真值测试

12.1.1 numpy.all numpy.any

numpy.all(a, axis=None, out=None, keepdims=np._NoValue)

判断全部元素是否为真

 numpy.any(a, axis=None, out=None, keepdims=np._NoValue)

判断其中是否有任意元素为真

12.2 数组内容

12.2.1 numpy.isnan

numpy.isnan(x, *args, **kwargs)

判断是否包含nan元素

12.3 逻辑运算

12.3.1 numpy.logical_not

12.3.2 numpy.logical_and

12.3.3 numpy.logical_or

12.3.4 numpy.logical_xor

【例】计算非x元素的真值。 
import numpy as np 
print(np.logical_not(3)) 
# False 
print(np.logical_not([True, False, 0, 1])) 
# [False True True False] 
x = np.arange(5) 
print(np.logical_not(x < 3)) 
# [False False False True True]

【例】计算x1 AND x2元素的真值。 
print(np.logical_and(True, False)) 
# False 
print(np.logical_and([True, False], [True, False])) 
# [ True False] 
print(np.logical_and(x > 1, x < 4)) 
# [False False True True False] 

【例】逐元素计算x1 OR x2的真值。 
print(np.logical_or(True, False)) 
# True print(np.logical_or([True, False], [False, False])) 
# [ True False] print(np.logical_or(x < 1, x > 3)) 
# [ True False False False True] 

【例】计算x1 XOR x2的真值,按元素计算。 
print(np.logical_xor(True, False)) 
# True 
print(np.logical_xor([True, True, False, False], [True, False, True, False])) 
# [False True True False] 
print(np.logical_xor(x < 1, x > 3)) 
# [ True False False False True] 
print(np.logical_xor(0, np.eye(2))) 
# [[ True False] 
# [False True]]

12.4 对照

12.4.1 numpy.greater

12.4.2 numpy.greater_equal

12.4.3 numpy.equal

12.4.4 numpy.not_equal

12.4.5 numpy.less

12.4.6 numpy.less_equal

12.4.7 numpy.isclose

12.4.8 numpy.allclose

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值