如何实现两个EXCEL表格相互查找并填充相应的内容--英雄云拓展知识分享
125
2023-10-25
【摘要】 本书摘自《Python数据分析案例教程》一书中第3章,第3节,由万念斌、肖伟东、叶丰标编著。
3.3.3 NumPy 统计函数
NumPy 提供了很多统计函数,主要用于从一系列数据中查找最大值、最小值,求和、平 均值、百分位数、中位数,分析标准差、方差等。【案例3-9】给定NumPy 数组数据(3行3列),应用NumPy 统计函数求出每行/列的最大值、最大值与最小值的差、百分位数、中位数、平均值等。程序代码如下:
import numpy as np
def main():
a=np.array([[1,7,4],[2,5,8],[6,9,3]])
print('原始数组'.center(30,'='),\n',a)
print(按行求最小值、按列求最大值、数组最大值'.center(30,'='),
\n',np.amin(a,axis=1),np.amax(a,axis=0),np.amax(a))
#按行求最小值,按列求最大值
print(按行、按列求最大值与最小值的差'.center(30,'='),\n',np.ptp(a,axis=1),np. ptp(a,axis=0),np.ptp(a)) # 按行、按列求最大值与最小值的差
#numpy.percentile(a,q,axis)a为数组,q 为要计算的百分位数(0~100),axis为轴 print(按列求50%的百分位数.center(30,'—'),\n',np.percentile(a,50,axis=0))
#求中间那个数
print(按列求25%的百分位数.center(30,'—'),\n',np.percentile(a,25,axis=0)) #即(中间数一最小数)/2
print(按列求75%的百分位数'.center(30,'一'),`\n',np.percentile(a,75,axis=0)) #即(最大数一中间数)/2
print(按行求50%的百分位数'.center(30,一'),`\n',np.percentile(a,50,axis=1)) #求中间那个数
print(不指定轴求50%的百分位数.center(30 一'),\n',np.percentile(a,50)) print(求中位数.center(30,'-'),\n',np.median(a))
print(按列求中位数.center(30,'一'),`\n',np.median(a,axis=0))
print(按行求中位数.center(30,'一'),\n',np.median(a,axis=1))
print(求平均值,按行、列求平均值'.center(30,'='),\n',
np.mean(a),np.mean(a,axis=1),np.mean(a,axis=0))
if name ==" main ";
__ __ __ __
main()
程序运行结果如下:
D:\anaconda\python.exe C:/Users/dell/PycharmProjects/My01/numpy/case33Numpy 的统 计函数.py
原始数组=
[[ 1 7 4]
[ 2 5 8]
[ 6 9 3]]
=====按行求最小值、按列求最大值、数组最大值======
[1 2 3][6 9 8] 9
=======按行、按列求最大值与最小值的差========
[6 6 6][ 5 4 5 ] 8
—按列求50%的百分位数----------
[ 2. 7. 4.]
按列求25%的百分位数----------
[1.5 6. 3.5]
-按列求75%的百分位数---------
[ 4. 8. 6.]
---------按行求50%的百分位数---------
[4. 5. 6.]
--------不指定轴求50%的百分位数--------
5.0
-------------求中位数-------------
5.0
------------按列求中位数------------
[ 2. 7. 4.]
-按行求中位数------------
[ 4. 5. 6.]
========求平均值,按行、列求平均值=========
5.0 [ 4. 5. 6.][ 3. 7. 5.]
Process finished with exit code 0
【案例3-10】给定 NumPy 数组数据,应用NumPy 统计函数求出加权平均数、标准差和 方差。程序代码如下:
import numpy as np
def main():
a=np.array([1,2,3,4])
printC原始数组'.center(30,'='),'\n',a)
printC不指定权重的加权平均数,center(30,'='),\n',np.average(a))
#不指定权重时相当于mean()函数
wts=np.array([1,3,4,2])
print(按指定权重的加权平均数.center(30,'='),\n',np.average(a,axis=0,weights= wts)) # 加权平均值=(1*1+2*3+3*4+4*2)/(1+3+4+2)
#标准差是一组数据平均值分散程度的一种度量 std=sqrt(mean((x-x.mean())**2)) print(求标准差'.center(30,'—'),\n',np.std(a))
#方差是每个样本值与全体样本值平均数之差的平方值的平均数,var=mean((x-xmean())**2)
print(求方差'.center(30,'-'),`\n',np.var(a))
if name ==" main ":
__ __ __ __
main()
程序运行结果如下:
D:\anaconda\python.exe C:/Users/dell/PycharmProjects/My01/numpy/case330加权平均 标准差方差.py
原始数组=============
[1 2 3 4]
=========不指定权重的加权平均数==========
2.5
=========按指定权重的加权平均数==========
2.7
-求标准差-
1.118033988749895
求方差-
1.25
Process finished with exit code 0
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~