第六章. 图解数组计算模块NumPy—NumPy常用统计分析函数

第六章. 图解数组计算模块NumPy

6.5 NumPy常用统计分析函数

NumPy中包含了大量的数学运算的函数。

1.NumPy的运算函数及说明:

函数 说明
add() 数组的加
subtract() 数组的减
sultiply() 数组的乘
divide() 数组的除
abs() 取数组中各元素的绝对值
sqrt() 计算数组中各元素的平方根
square() 计算数组中各元素的平方
log() 计算数组中各元素的自然对数
log10() 计算数组中各元素以10为底的对数
log2() 计算数组中各元素以2为底的对数
reciprocal() 计算数组中各元素的倒数
power() 第一个数组中的元素作为底数,第二个数组中的元素作为第一组元素的幂
mod() 计算数组之间相应元素相除后的余数
around() 计算数组中各元素指定小数位数的四舍五入值
ceil() 计算数组中各元素向上取整
floor() 计算数组中各元素向下取整
sin() 计算数组中角度的正弦值
cos() 计算数组中角度的余弦值
tan() 计算数组中角度的正切值
arcsin() 计算数组中角度的反正弦值,返回值以弧度为单位
arccos() 计算数组中角度的反余弦值,返回值以弧度为单位
arctan() 计算数组中角度的反正切值,返回值以弧度为单位
degrees() 弧度转换为角度
modf() 将数组中各元素的小数和整数部分分割为两个独立的数组
exp() 计算数组中各元素的指数值
sign() 计算数组中各元素的符号值,例如-3(-),0,+3(+)
maximum()、fmax() 计算数组元素的最大值
minimum()、fmin() 计算数组元素的最小值
copysign(a,b) 将数组b中各元素的符号赋值给与元素a对应的元素

2.几种常用的数学运算函数:

1).算术函数:(加、减、乘、除、倒数、求幂、取余)

import numpy as np

# 1.算术函数
n1 = np.arange(6).reshape(2, 3)
n2 = np.arange(6, 12).reshape(2, 3)

# 加
n = np.add(n1, n2)

# 减
n = np.subtract(n1, n2)

# 乘
n = np.multiply(n1, n2)

# 除
n = np.divide(n1, n2)

# 倒数
n1 = np.arange(1, 7, dtype=float).reshape(2, 3)
n = np.reciprocal(n1)  # 分母不能为0

# 求幂
n1 = np.arange(6).reshape(2, 3)
n2 = np.arange(6).reshape(2, 3)
n = np.power(n1, n2)

#取余
n1=np.random.randint(1,10,size=(2,3))
n2=np.random.randint(1,10,size=(2,3))
n=np.mod(n1,n2)

2).舍入函数:

import numpy as np

# 1.舍入函数
n1 = np.array([1.1, 2.5, 3.9])

# around函数:四舍五入
n = np.around(n1)

# ceil函数:向上取整
n = np.ceil(n1)

# floor函数:向下取整
n = np.floor(n1)

3).三角函数:

import numpy as np

# 正弦函数
n1 = np.arange(0, 100, 30)
sin = np.sin(n1 * np.pi / 180)  # 角度转换为弧度
inv = np.arcsin(sin)  # 角度的反正弦,输出对应的弧度制
deg = np.degrees(inv)  # 弧度转换成角度

3.统计分析的函数及说明:

函数 说明
sum() 对数组中的元素或某行某列的元素求和
cumsum() 所有数组元素累计求和
cumprod() 所有数组元素累计求积
mean() 计算平均值
min() 计算数组的最小值
max() 计算数组的最大值
average() 计算加权平均值
median() 计算数组中元素的中位数
var() 计算方差
std() 计算标准差
eg() 对数组第二维度的数据求平均
argmin() 计算数组最小值的下标
argmax() 计算数组最大值的下标
unravel_index() 根据数组形状将一维下标转换成多维下标
ptp() 计算数组最大值与最小值的差

4.几种常用的统计分析函数:

1).示例:(求和,求均值,最大值,最小值,加权均值,中位数,方差,标准差)

import numpy as np

n1 = np.arange(6).reshape(2, 3)

# 求和:sum
n = np.sum(n1)  # 数组元素求和
n = np.sum(n1, axis=0)  # 按行求和
n = np.sum(n1, axis=1)  # 按列求和

# 求均值:mean
n = np.mean(n1)
n = np.mean(n1, axis=0)  # 按行求均值
n = np.mean(n1, axis=1)  # 按列求均值

# 最大值:max
n = np.max(n1)
n = np.max(n1, axis=0)  # 按行求均值
n = np.max(n1, axis=1)  # 按列求均值

# 最小值:min
n = np.min(n1)
n = np.min(n1, axis=0)  # 按行求均值
n = np.min(n1, axis=1)  # 按列求均值

# 加权均值:average
n1 = np.arange(1, 6)
n2 = n1.copy()
n = np.average(n1, weights=n2)

# 中位数:median
n1 = np.random.randint(1, 100, 7)
n = np.median(n1)

# 方差:var
n1 = np.random.randint(1, 10, 7)
n = np.var(n1)

# 标准差:std
n1 = np.random.randint(1, 10, 7)
n = np.std(n1)

5.数组的排序:

对数组元素进行排序。

1).sort函数:

使用soft函数进行排序,参数axis指定按行排序还是按列排序

import numpy as np

n1 = np.random.randint(20, size=(2, 3))

# sort排序
n = np.sort(n1)  # 数组排序(默认按列排序)
n = np.sort(n1, axis=0)  # 按行排序
n = np.sort(n1, axis=1)  # 按列排序

2).argsort函数:

使用argsort函数对数组进行排序,返回升序排序之后数组的索引值。

import numpy as np

n1 = np.random.randint(20, size=(2, 3))

# argsort排序
n = np.argsort(n1)  # 数组排序(默认按列排序)
n = np.argsort(n1, axis=0)  # 按行排序
n = np.argsort(n1, axis=1)  # 按列排序

3).lexsort函数:

用于对多个序列进行排序,返回排序之后数组的索引值,可以把他当作是对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列。

import numpy as np

# 某高校,根据总成绩录取学生,当总成绩相同时,数学成绩高的优先录取,当总成绩,数学成绩相同时,英语成绩高的优先录取
math = np.random.randint(80, 150, 5)
english = np.random.randint(80, 150, 5)
total_score = np.random.randint(615, 620, 5)
sort = np.lexsort((english, math, total_score))#排序后的索引值
n = np.array([[english[i], math[i], total_score[i]] for i in sort])#排序后的数组

你可能感兴趣的:(numpy,python,数据分析)