数学和统计方法

简介: 数学和统计方法

平均数,加权平均数,中位数,众数

1、平均数:所有数加在一起求平均

2、中位数:对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的

两个数值的平均数作为中位数。

3、众数:出现次数最多的那个数

4、加权平均数:加权平均值即将各数值乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。加权平均值的大小不仅取决于

总体中各单位的数值(变量值)的大小,而且取决于各数值出现的次数(频数),由于各数值出现的次数对其在平均数中的影响起着权衡

轻重的作用,因此叫做权数。 因为加权平均值是根据权数的不同进行的平均数的计算,所以又叫加权平均数。在日常生活中,人们常常

把“权数”理解为事物所占的“权重”

x占a% y占b% z占c% n占m%

加权平均数=(ax+by+cz+mn)/(x+y+z+n)

一维数组

沿轴向进行计算,一维数组只有一个0轴

import numpy as np
a = np.array([1,2,3,4,3,5,3,6])
print(f'数组:{a}')
print(np.sum(a))
print(np.prod(a))
print(np.cumsum(a)) # 从0开始元素的累积和
print(np.cumprod(a)) # 从1开始元素的累积积
print(np.max(a))
print(np.min(a))
print(np.argmax(a)) # 最大值所在的下标
print(np.argmin(a)) # 最小值所在的下标
print(np.mean(a)) # 平均数
print(np.median(a)) # 中位数
print(np.average(a)) # 加权平均
counts = np.bincount(a) # 统计非负整数的个数,不能统计浮点数
print(np.argmax(counts)) # 返回众数,此方法不能用于二维数组

Numpy中没有直接的方法求众数,但是可以这样实现:

import numpy as np
# bincount():统计非负整数的个数,不能统计浮点数
counts = np.bincount(nums)
#返回众数
np.argmax(counts)

二维数组

import numpy as np
from scipy import stats
a = np.array([[1,3,6],[9,2,3],[2,3,3]])
print(f'数组:\n{a}')
print('-'*30)
print(np.sum(a))
print(np.prod(a))
print(np.cumsum(a)) # 从0开始元素的累积和,返回一维数组
print(np.cumprod(a)) # 从1开始元素的累积积,返回一维数组
print(np.max(a))
print(np.min(a))
print(np.argmax(a)) 
print(np.argmin(a)) 
print(np.mean(a)) 
print(np.median(a)) 
print(np.average(a)) 

注意:数组的众数不建议在Numpy里面计算,在Pandas里面计算更简单。
将一维数组转成Pandas的Series,然后调用mode()方法

将二维数组转成Pandas的DataFrame,然后调用mode()方法

Numpy的axis参数的用途

axis=0代表行,axis=1代表列

所有的数学和统计函数都有这个参数,都可以使用

我们想按行或按列使用时使用这个参数

import numpy as np
a = np.array([[1,3,6],[9,3,2],[1,4,3]])
print(f'数组:\n{a}')
print('-'*30)
print(np.sum(a,axis=0)) # 每行中的每个对应元素相加,返回一维数组
print('-'*30)
print(np.sum(a,axis=1)) # 每列中的每个元素相加,返回一维数

其中思路正好是反的:axis=0 求每列的和。axis=1求每行的和。


• 行:每行对应一个样本数据

• 列:每列代表样本的一个特征


数组对应到现实中的一种解释:

• 对于机器学习、神经网络来说,不同列的量钢是相同的,收敛更快。

• 有两个特征,一个是商品单价1元至50元,另一个是销售数量3千个至1万个,这两个数字不可比,所以需要都做标准化。

• 比如在Excel里,单价一个列,销售数量一个列,不同列代表不同特征,所以用axis=0做计算

• 标准化一般使用:通过均值和方差实现

数组 = (数组 - mean(数组,axis=0))/ std(数组, axis=0)


在NumPy中,数学和统计方法是用于对数组进行各种数学运算和统计分析的函数。这些方法能够对数组中的元素进行聚合、求和、均值、方差等操作,非常有用。下面列举一些常用的数学和统计方法:


数学方法:


np.abs(): 计算数组中元素的绝对值。

np.sqrt(): 计算数组中元素的平方根。

np.square(): 计算数组中元素的平方。

np.exp(): 计算数组中元素的指数。

np.log(): 计算数组中元素的自然对数。

np.sin(): 计算数组中元素的正弦值。

np.cos(): 计算数组中元素的余弦值。

np.tan(): 计算数组中元素的正切值。

统计方法:


np.sum(): 计算数组所有元素的和。

np.mean(): 计算数组所有元素的均值。

np.median(): 计算数组所有元素的中位数。

np.min(): 找出数组中的最小值。

np.max(): 找出数组中的最大值。

np.std(): 计算数组所有元素的标准差。

np.var(): 计算数组所有元素的方差。

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
# 数学方法示例
result_abs = np.abs(arr)
print(result_abs)  # 输出:[1 2 3 4 5]
result_sqrt = np.sqrt(arr)
print(result_sqrt)  # 输出:[1.         1.41421356 1.73205081 2.         2.23606798]
result_sin = np.sin(arr)
print(result_sin)  # 输出:[ 0.84147098  0.90929743  0.14112001 -0.7568025  -0.95892427]
# 统计方法示例
result_sum = np.sum(arr)
print(result_sum)  # 输出:15
result_mean = np.mean(arr)
print(result_mean)  # 输出:3.0
result_median = np.median(arr)
print(result_median)  # 输出:3.0
result_min = np.min(arr)
print(result_min)  # 输出:1
result_max = np.max(arr)
print(result_max)  # 输出:5
result_std = np.std(arr)
print(result_std)  # 输出:1.4142135623730951
result_var = np.var(arr)
print(result_var)  # 输出:2.0

总结:

NumPy中的数学和统计方法能够帮助我们对数组进行各种数学运算和统计分析,大大提高了数据处理的效率和便捷性。通过这些方法,我们可以轻松地进行绝对值计算、平方根求解、均值计算、标准差和方差分析等操作。

相关文章
|
3月前
|
数据挖掘 数据处理
R语言统计基本概念:探索描述性统计与推断统计的奥秘
【8月更文挑战第30天】描述性统计与推断统计是R语言统计分析中的两大基石。描述性统计帮助我们直观地了解数据的分布特征和基本属性,而推断统计则允许我们基于样本数据对总体进行推断和预测。在数据分析的实际应用中,两者相辅相成,共同构成了数据分析的完整框架。掌握这两大概念及其在R语言中的实现方法,对于提升数据分析能力和决策效率具有重要意义。
|
4月前
|
资源调度 数据可视化 算法
贝叶斯统计是一种基于贝叶斯定理的统计学方法,它不同于传统的频率派统计(或称为经典统计)。
贝叶斯统计是一种基于贝叶斯定理的统计学方法,它不同于传统的频率派统计(或称为经典统计)。
|
6月前
|
算法 数据挖掘
R语言中的贝叶斯统计方法
【4月更文挑战第26天】R语言在贝叶斯统计中发挥着重要作用,提供如"BUGS"、"Stan"、"JAGS"等包来处理复杂模型和数值计算。贝叶斯方法基于概率论,涉及先验分布、似然函数、后验分布和MCMC模拟。"BUGS"适用于复杂层次模型,"Stan"则在大规模数据和复杂模型上有优势。
72 2
|
6月前
|
测试技术
数据分享|R语言回归,虚拟变量和交互项,假设检验:F检验、AIC和 BIC分析学生成绩数据附自测题(下)
数据分享|R语言回归,虚拟变量和交互项,假设检验:F检验、AIC和 BIC分析学生成绩数据附自测题
|
6月前
|
机器学习/深度学习 数据可视化
|
6月前
R语言自定义两种统计量度:平均值和中位数,何时去使用?
R语言自定义两种统计量度:平均值和中位数,何时去使用?
|
6月前
R语言区间数据回归分析
R语言区间数据回归分析
|
6月前
|
数据采集 安全 数据挖掘
【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)
【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)
459 0
统计: 统计假设检验-比较方法的差别与选择
本文介绍了日常应用最广泛的几种基础的假设检验比较方法及其适用条件,以供参考学习
261 0
|
存储 C语言
C语言刷题系列——14.(结构)计算两个复数之积15.按等级统计学生成绩16.根据成绩高低将学生记录排序
C语言刷题系列——14.(结构)计算两个复数之积15.按等级统计学生成绩16.根据成绩高低将学生记录排序
131 0