四、Numpy基础:数组运算及内置函数

一、矢量运算

  • 数组不用循环即可对每个元素执行批量的算术运算操作,这个过程叫做矢量化,即用数组表达式代替循环的做法。
  • 矢量化数组运算性能比纯Python方式快上一两个数据级。
  • 大小相等的两个数组之间的任何算术运算都会将其运算应用到元素级上的操作。

元素级操作:在NumPy中,大小相等的数组之间的运算,为元素级运算,即只用于位置相同的元素之间,所得的运算结果组成一个新的数组,运算结果的位置跟操作数位置相同。

 

 

类型函数运算符说明
基础运算add(a,b[,c])c=a+b加法
subtract(a,b[,c])c=a-b减法
multiply(a,b[,c])c=a*b乘法
divide(a,b[,c])c=a/b除法(python3中,divide与true_divide用法相同)
floor_divide(a,b[,c])c=a//b除法,结果向下取整
negative(a[,c])c=-a取反
power(a,b[,c])c=a**ba的b次方
remainder(a,b[,c])c=a%b取模(亦可写作mod(a,b[,c]))
fmod(a,b[,c])None带符号取模,正负由a决定
比较运算equal(a,b[,c])c=a==b比较结果c是布尔数组
not_equal(a,b[,c])c=a!=b
less(a,b[,c])c=a<b
less_equal(a,b[,c])c=a<=b
greater(a,b[,c])c=a>b
greater_equal(a,b[,c])c=a>=b
统计运算 sum(a[,axis,c])None总和:可以通过axis参数定义统计维度
min(a[,axis,c])None 最小值:可以通过axis参数定义统计维度
max(a[,axis,c])None 最大值:可以通过axis参数定义统计维度
mean(a[,axis,c])None平均值:可以通过axis参数定义统计维度
std(a[,axis,c])None标准差:可以通过axis参数定义统计维度
var(a[,axis,c])None方差:可以通过axis参数定义统计维度
median(a[,axis,c])None中位数:可以通过axis参数定义统计维度
ptp(a[,axis,c])None极差:最大值最小值之差
diff(a[,axis,c])None离散差:相邻数组元素的差值构成的数组
三角函数运算sin(a[,axis,c]),arcsin(a[,axis,c])None正弦(反正弦)
cos(a[,axis,c]),arccos(a[,axis,c])None余弦(反余弦)
tan(a[,axis,c]),arctan(a[,axis,c])None正切(反正切)
sinh(a[,axis,c]),arcsinh(a[,axis,c])None双曲型正弦(反双曲型正弦)
cosh(a[,axis,c]),arccosh(a[,axis,c])None双曲型余弦(反双曲型余弦)
tanh(a[,axis,c]),arctanh(a[,axis,c])None双曲型正切(反双曲型正切)
对数运算log(a[,axis,c])None以e为底a的对数值
log2(a[,axis,c])None以2为底a的对数值
log10(a[,axis,c])None以10为底a的对数值
log1p(a[,axis,c])None以e为底a+1的对数值

 

 

二、内置函数 

 2.1、np.where

  • numpy版的三元表达式,用于特定条件的矢量元素判定,格式:where(condition,arr1,arr2),释义:arr1 if condition else arr2(如果arr1满足condition条件,就选arr1,否则选arr2)
import numpy as np
a=np.linspace(-1.1,-1.5,5)
b=np.linspace(-2.1,-2.5,5)
condition=a<b
python=[x if c else y for (x,y,c) in zip(a,b,condition)]
numpy=np.where(condition,a,b)
print("python版三元表达式:\n{0}\n格式为:{1}".format(python,type(python)))
print("numpy版三元表达式:\n{0}\n格式为:{1}".format(numpy,type(numpy)))
>>>
python版三元表达式:
[-2.1, -2.2, -2.3, -2.4, -2.5]
格式为:<class 'list'>
numpy版三元表达式:
[-2.1 -2.2 -2.3 -2.4 -2.5]
格式为:<class 'numpy.ndarray'>

2.2、np.unique

  •  将数组中的元素进行去重操作
import numpy as np
a=np.array(["图书","数码","小吃","数码","金属","市场","美食","图书"])
b=np.unique(a)
print("原数组:\n",a)
print("去重后的数组:\n",b)
>>>
原数组:
 ['图书' '数码' '小吃' '数码' '金属' '市场' '美食' '图书']
去重后的数组:
 ['图书' '小吃' '市场' '数码' '美食' '金属']

  

还有其它运算方法及内置函数后续补充

 

转载于:https://www.cnblogs.com/hezhefly/p/8282942.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值