2.3  numpy常用函数

分类函数功能说明
基本数学np.sqrt(x)计算平方根
 np.exp(x)计算指数(e^x)
 np.log(x)计算自然对数(ln(x))
 np.sin(x)计算正弦值
 np.abs(x)计算绝对值
 np.power(a, b)计算 a 的 b 次幂
 np.round(x, n)四舍五入(保留 n 位小数)
统计np.sum(x)求和
 np.mean(x)计算均值
 np.median(x)计算中位数
 np.std(x)计算标准差
 np.var(x)计算方差
 np.min(x) / np.max(x)查找最小值/最大值
 np.percentile(x, q)计算分位数(q: 0~100)
比较np.greater(a, b)元素级比较 a > b
 np.less(a, b)元素级比较 a < b
 np.equal(a, b)元素级比较 a == b
 np.logical_and(a, b)逻辑与(逐元素)
 np.where(condition, x, y)根据条件选择元素
排序np.sort(x)返回排序后的副本
 x.sort()原地排序(修改原数组)
 np.argsort(x)返回排序后的索引
 np.lexsort(keys)多键排序(按最后一列优先)
去重np.unique(x)返回唯一值并排序
 np.in1d(a, b)检查 a 的元素是否在 b 中存在
其他实用np.concatenate((a, b))数组拼接
 np.split(x, indices)分割数组
 np.reshape(x, shape)调整数组形状
 np.copy(x)创建数组的深拷贝
 np.isnan(x)检测 NaN 值

2.3.1 统计基础

统计量名称数学定义与解释常见用途图示理解建议(文本)
总和(和)所有数值相加的结果总支出、总收入、总分等直方图每列的“高度总和”
计数(非空)所有非缺失值的数量数据有效性统计每列或每组的“存在数量”
唯一计数去重后的值的个数用户量、种类、独特答案数等彩色圆点图:每种颜色的数量
频率统计每个唯一值出现的次数投票结果、偏好选项统计每种值为一柱的频数柱状图
平均数所有数值的总和 / 个数成绩均值、产品均价数轴上“重心”位置
中位数将所有值排序后位于中间位置的那个值房价中位数、收入中位数数轴上“居中”点
众数出现频率最高的值;可能有多个最常见类别、最流行选项柱状图中“最高柱”的位置
众数个数用于判断是否有多个众数检查分布集中性多个柱一样高 → 多众数
最大值数据中的最大元素最高温度、最大销量数轴最右端的点
最小值数据中的最小元素最低成绩、最低价格数轴最左端的点
分位数把数据分成若干个相同大小的部分,第 q 个分位数是从小到大第 q 比例处的值算工资等级、考试分数线25%、50%、75%点→形成“箱型图”
方差所有数据与平均值之差的平方和的平均数(度量“离均差”的平方)波动性分析、风险评估离平均数越远的点 → 贡献越大
标准差方差的平方根;表示数据的波动程度正态分布、偏差分析、误差建模平均数±1个标准差 → 约68%数据范围
协方差两个变量各自与均值之差乘积的平均值,衡量两者的变化趋势是否一致股价、气温等变量共同趋势 趋势一致 → 正值,反向 → 负值
相关系数标准化的协方差,范围为 [-1, 1],衡量两个变量之间的线性相关程度预测模型、特征选择、相关分析趋势完全相同 → 1,完全相反 → -1

2.3.2  基本数学函数

函数功能说明示例代码示例输出
np.sqrt(x)计算平方根np.sqrt([1, 4, 9])[1. 2. 3.]
np.exp(x)计算指数(e^x)np.exp([0, 1])[1.         2.71828183]
np.log(x)计算自然对数(ln(x))np.log([1, np.e])[0. 1.]
np.sin(x)计算正弦值np.sin(np.pi/2)1.0
np.abs(x)计算绝对值np.abs([-1, 2.5])[1.  2.5]
np.power(a, b)计算 a 的 b 次幂np.power(2, [3, 4])[8 16]
np.round(x, n)四舍五入(保留 n 位小数)np.round(3.1415, 2)3.14
np.ceil(x)向上取整(不小于原数的最小整数)np.ceil([1.2, 3.7, -2.3])[ 2.  4. -2.]
np.floor(x)向下取整(不大于原数的最大整数)np.floor([1.2, 3.7, -2.3])[ 1.  3. -3.]
np.rint(x)四舍五入到最近的整数;当需要舍入的数字恰好是 5 时,会看 5 前面的数字,如果是偶数则直接舍去 5,如果是奇数则进位。np.rint([1.5, 2.3, 3.7])[1. 2. 4.] 
np.multiply(a, b)元素级乘法(等价于 a * b)np.multiply([2, 3], [4, 5])[ 8 15]
np.divide(a, b)元素级除法(等价于 a / b)np.divide([6, 8], [2, 4])[3. 2.]
np.isnan(x)检测 NaN 值np.isnan([1, np.nan, 3])[False  True False]
arr1 = np.random.randn(2, 3)
print(arr1)
print(np.abs(arr1))
print(np.ceil(arr1))
print(np.floor(arr1))
print(np.rint(arr1))
print(np.isnan(arr1))
print(np.multiply(arr1, 2))
print(np.divide(arr1, arr1))

2.3.3  统计函数

函数功能说明示例代码示例输出
np.sum(x)求和np.sum([[1, 2], [3, 4]])10
np.mean(x)计算均值np.mean([1, 2, 3, 4])2.5
np.median(x)计算中位数np.median([5, 2, 3, 1])2.5
np.std(x)计算标准差np.std([1, 2, 3])0.81649658
np.var(x)计算方差np.var([1, 2, 3])0.66666667
np.min(x)查找最小值np.min([[4, 2], [3, 1]])1
np.max(x)查找最大值np.max([[4, 2], [3, 1]])4
np.percentile(x, q)计算分位数(q: 0~100)np.percentile([1,2,3,4], 50)2.5
np.argmax(x)返回最大值的索引np.argmax([1, 3, 2])1
np.argmin(x)返回最小值的索引np.argmin([1, 3, 2])0
np.cumsum(x)计算累积和(逐元素累加结果)np.cumsum([1, 2, 3])[1, 3, 6]
np.cumprod(x)计算累积积(逐元素累乘结果)np.cumprod([1, 2, 3])[1, 2, 6]

多维数组在计算时默认计算全部维度,可以使用axis参数指定按某一维度为轴心统计,axis=0按列统计、axis=1按行统计。

arr1 = np.random.randint(1, 5, (2, 3))
print(arr1)
print(np.mean(arr1))
print(np.sum(arr1))
print(np.max(arr1))
print(np.min(arr1))
print(np.std(arr1))
print(np.var(arr1))
print(np.argmax(arr1))
print(np.argmin(arr1))
print(np.cumsum(arr1))
print(np.cumprod(arr1))
print(np.cumprod(arr1, axis=1))

NumPy统计量表

统计量名称NumPy方法数学定义与解释常见用途图示理解建议(文本)
总和(和)np.sum()所有数值相加的结果总支出、总收入、总分等直方图每列的”高度总和”
计数np.size()数组中元素的总个数(包括缺失值需额外处理)数据规模统计数组的”总格子数”
非零计数np.count_nonzero()数组中非零元素的数量 稀疏矩阵分析、激活单元统计点亮非零元素的网格图
平均数np.mean()所有数值的总和 / 个数成绩均值、产品均价数轴上”重心”位置
加权平均np.average(weights=)Σ(值×权重)/Σ权重加权评分、指数计算不同权重的砝码平衡点
中位数np.median()将所有值排序后位于中间位置的值房价中位数、收入中位数数轴上”居中”点
众数scipy.stats.mode()出现频率最高的值(需SciPy支持)最常见类别、最流行选项柱状图中”最高柱”的位置
最大值np.max()数据中的最大元素最高温度、最大销量数轴最右端的点
最小值np.min()数据中的最小元素最低成绩、最低价格数轴最左端的点
极差np.ptp()最大值与最小值的差(Peak-to-Peak)数据波动范围数轴两端点之间的距离
方差np.var()Σ(值-均值)²/n (ddof=0为总体方差)波动性分析、风险评估离均值越远的点→贡献越大
标准差np.std()方差的平方根(ddof=0为总体标准差)正态分布、偏差分析均值±1个标准差→约68%数据范围
分位数np.quantile()将数据分成q比例处的值(如0.25为下四分位数)工资等级、考试分数线25%、50%、75%点→形成”箱型图”
百分位数np.percentile()分位数的百分数表示(quantile(0.25)=percentile(25))统计分布边界标记特定百分比位置的参考线
协方差矩阵np.cov()变量间协方差的矩阵表示(每对变量的协方差)多元统计分析、PCA热力图显示变量间相关性
相关系数np.corrcoef()标准化的协方差矩阵,范围[-1,1]特征选择、相关分析颜色深浅表示相关性强弱
直方图统计np.histogram()将数据划分到等宽区间并计数分布分析、数据分箱柱状图显示各区间的频数
累积和np.cumsum()从第一个元素开始逐步累加的结果数组累计收益、增长曲线阶梯式上升的折线图
累积积np.cumprod()从第一个元素开始逐步累乘的结果数组复利计算、连乘效应指数增长的曲线
唯一值np.unique()返回排序后的唯一值数组(可附加计数)类别统计、去重操作彩色圆点图:每种颜色的数量
排序统计np.sort()+索引排序后通过分位数位置获取统计量非参数统计、排名分析有序数轴上的位置标记
迹(矩阵)np.trace()矩阵主对角线元素的和线性代数运算、矩阵特征矩阵对角线上元素的求和
范数np.linalg.norm()向量的模(如L2范数为欧几里得距离)相似度计算、正则化向量箭头的长度

关键说明:

  1. 轴方向控制:多数函数支持axis参数(如axis=0列统计,axis=1行统计)
  2. 缺失值处理:需先用np.nan相关函数(如np.nansum())处理含NaN的数据
  3. 精度控制:可通过dtype参数指定计算精度(如np.mean(dtype=np.float64))
  4. 高维扩展:所有统计量均支持高维数组,通过axis元组指定多轴(如axis=(1,2))
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容