Python数据分析之NumPy数组的计算(通用函数、排序等)

1、通用函数

NumPy提供了一个简单灵活的接口来优化数据数组的计算。使NumPy变快的关键是利用向量化操作,通常在NumPy的通用函数中实现。可以通过简单对数组执行操作来实现,这里对数组的操作会被用于数组中的每一个元素,这种向量方法被用于将循环推送至NumPy之下的 编译层,这样会取得更快的执行效率。

NumPy实现的算术运算符

运算符 对应的通用函数 描述
+ np.add 加法运算(即1+1=2)
- np.subtract 减法运算(即3-2=1)
- np.negative 负数运算(即-2)
* np.multiply 乘法运算(即2* 3= 6)
/ np.divide 除法运算(即3/2=1.5)
// np.floor_divide 地板除法运算(floor division,即3//2=1)
** np.power 指数运算(即2**3=8)
% np.mod 模/余数(即9%4=1)

对于非常小的输入值可以保持较好的精度,当x的值很小时,以上函数给出的值比np.log和np.exp的计算更精确

print("exp(x) - 1 = ",np.expm1(x))
exp(x) - 1 =  [0.         0.0010005  0.01005017 0.10517092]

print("log(1+x)=",np.log1p(x))
log(1+x)= [0.         0.0009995  0.00995033 0.09531018]

NumPy一元函数

对ndarray中的数据执行元素级运算的函数

             函数                                         说明
np.abs(x)   np.fabs(x) 计算数组各元素的绝对值(计算整数、浮点数或复数的绝对值,对于非复数,可以使用更快的fabs)
np.sqrt(x) 计算数组各元素的平方根,相当于arr**0.5
np.square(x) 计算数组各元素的平方,相当于arr**2

np.log(x)  np.log10(x)  

np.log2(x)

计算数组各元素的自然对数(e)、10底对数和2底对数
np.ceil(x)   np.floor(x) 计算数组各元素的ceiling值(表示不超过元素的整数值)或floor值(小于这个元素的最大整数值)
np.rint(x)

计算数组各元素的四舍五入值,保留dtype

np.modf(x) 将数组各元素的小数和整数部分以两个独立数组形式返回

np.cos(x)     np.cosh(x)

np.sin(x)      np.sinh(x)

np.tan(x)     np.tanh(x)

计算数组各元素的普通型和双曲型三角函数
np.exp(x) 计算数组各元素的指数值   e^x
np.exp2(x) 2^x
np.power(3,x) 3^x
np.sign(x) 计算数组各元素的符号值(正负号):1(+),0,-1(-)
isnan 返回一个表示“哪些值是NAN(这不是一个数字)”的布尔型数组
isfinite、isinf 分别返回一个表示“哪些元素是有穷的(非inf,非NaN)”或“哪些元素是无穷的”的布尔型数组

arccos、arccosh、arcsin、

arcsinh、arctan、arctanh、

logical_not

反三角函数、

计算各元素not x的真值,相当于-arr

a = np.arange(24).reshape((2,3,4))

np.square(a)                                    #数组本身并未发生改变,新生成了结果
Out[31]: 
array([[[  0,   1,   4,   9],
        [ 16,  25,  36,  49],
        [ 64,  81, 100, 121]],

       [[144, 169, 196, 225],
        [256, 289, 324
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值