Python笔记:Numpy之常⽤统计函数numpy库常用函数
数据的逻辑运算:
  np.where(cond, xarr, yarr)
    第⼀个参数cond,是⼀个布尔型数组
    第⼆个参数xarr,是⼀个任意数组、常量、变量
    第三个参数yarr,是⼀个任意数组、常量、变量
  该函数根据cond的真值来选取xarr或yarr中的元素,当cond第N个元素的值为True,则获取xarr对应位置的元素数据,否则获取yarr对应位置的元素数据,最后组成⼀个新的数组,如下图所⽰
数学和统计⽅法
arr = np.random.randint(10, size=(3, 10))
#以下函数都可以接受⼀个名为axis的参数,⽤于计算该轴上的统计值,最终结果是⼀个少⼀维的数组
#axis的参数,只有0和1,0是纵向,1是横向。
arr.sum()        #对数组中全部或某轴向的元素求和。零长度的数组的sum为0
arr.std()        #标准差,⾃由度可调(默认为n)
arr.var()        #⽅差,⾃由度可调(默认为n)
arr.min()        #最⼩值
arr.max()        #最⼤值
arr.argmin()      #最⼩元素的索引
arr.argmax()      #最⼤元素的索引
arr.cumsum()      #所有元素的累计和
arr.cumprod()    #所有元素的累计积
⽤于布尔型数组的⽅法
(arr > 5).sum()    #⽤于对布尔型数组中的True值计数
(arr > 5).any()    #测试数组中是否存在⼀个或多个True
(arr > 5).all()    #检查数组中所有值是否都为True
排序
#多维数组可以在任何⼀个轴向上进⾏排序,只需将轴编号传给sort即可
arr.sort()          #就地排序
唯⼀化以及其它的集合逻辑
np.unique(arr)              #将数组去重并排序
np.in1d(arr, [1, 2, 3])    #检查数组中的元素是否包含在集合中,返回⼀个布尔型数组
np.intersect1d(arr1, arr2)  #计算两个数组中的公共元素,并返回有序的结果
np.union1d(arr1, arr2)      #计算两个数组的并集,并返回有序的结果
np.setdiff1d(arr1, arr2)    #计算两个数组的差集
np.setxor1d(arr1, arr2)    #计算两个数组的对称差,即存在于⼀个数组中但不同时存在于两个数组中的元素