ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

[Python 数据科学] python 计算均值、方差、标准差 Numpy,Pandas

[Python 数据科学] python 计算均值、方差、标准差 Numpy,Pandas Python 数据科学文章目录1. Numpy 计算均值、方差、标准差2. Pandas 计算均值、方差、标准差Python 中的 numpy 包 和 pandas 包都能够计算均值、方差等本文总结一下它们的用法。1. Numpy 计算均值、方差、标准差一般的均值可以用 numpy 中的 mean 方法求得importnumpyasnp a[5,6,16,9]np.mean(a)#9.0numpy 中的 average 方法不仅能求得简单平均数也可以求出加权平均数。average 里面可以跟一个 weights 参数里面是一个权数的数组例如np.average(a,weights[1,2,1,1])# 8.4计算方差时可以利用 numpy 中的 var 函数默认是总体方差计算时除以样本数 N若需要得到样本方差计算时除以 N - 1需要跟参数 ddo f 1例如importnumpyasnp a[5,6,16,9]np.var(a)# 计算总体方差# 18.5np.var(a,ddof1)# 计算样本方差#24.666666666666668b[[4,5],[6,7]]np.var(b)# 计算矩阵所有元素的方差#1.25np.var(b,axis0)# 计算矩阵每一列的方差#array([1., 1.])np.var(b,axis1)# 计算矩阵每一行的方差#array([0.25, 0.25])计算标准差时可以利用 numpy 中的 std 函数使用方法与 var 函数很像默认是总体标准差若需要得到样本标准差需要跟参数 ddof 1importnumpyasnp a[5,6,16,9]np.std(a)# 计算总体标准差#4.301162633521313np.std(a,ddof1)# 计算样本标准差#4.96655480858378b[[4,5],[6,7]]np.std(b)# 计算矩阵所有元素的标准差#1.118033988749895np.std(b,axis0)# 计算矩阵每一列的标准差#array([1., 1.])np.std(b,axis1)# 计算矩阵每一列的标准差#array([0.5, 0.5])2. Pandas 计算均值、方差、标准差对于 pandas 也可以用里面的 mean 函数可以求得所有行或所有列的平均数例如importpandasaspd dfpd.DataFrame(np.array([[85,68,90],[82,63,88],[84,90,78]]),columns[统计学,高数,英语],index[张三,李四,王五])# df#统计学 高数 英语#张三 85 68 90#李四 82 63 88#王五 84 90 78df.mean()# 显示每一列的平均数#统计学 83.666667#高数 73.666667#英语 85.333333#dtype: float64df.mean(axis1)# 显示每一行的平均数#张三 81.000000#李四 77.666667#王五 84.000000#dtype: float64若要得到某一行或某一列的平均值则可以使用 iloc 选取改行或该列数据后面跟 mean 函数就能得到例如df# 统计学 高数 英语#张三 85 68 90#李四 82 63 88#王五 84 90 78df.iloc[0,:].mean()# 得到第 1 行的平均值#81.0df.iloc[:,2].mean()# 得到第 3 列的平均值#85.33333333333333pandas 中的 var 函数可以得到样本方差注意不是总体方差std 函数可以得到样本标准差若要得到某一行或某一列的方差则也可用 iloc 选取某行或某列后面再跟 var 函数或 std 函数即可例如df.var()# 显示每一列的方差#统计学 2.333333#高数 206.333333#英语 41.333333#dtype: float64df.var(axis1)# 显示每一行的方差#张三 133.000000#李四 170.333333#王五 36.000000#dtype: float64df.std()# 显示每一列的标准差#统计学 1.527525#高数 14.364308#英语 6.429101#dtype: float64df.std(axis1)# 显示每一行的标准差#张三 11.532563#李四 13.051181#王五 6.000000#dtype: float64df.iloc[0,:].std()# 显示第 1 行的标准差#11.532562594670797df.iloc[:,2].std()# 显示第 3 列的标准差#6.429100507328636
返回列表