Python数据分析基础与应用电子活页3-29实现NumPy数组的统计计算.docx
Python数据分析基础与应用
模块
PAGE4
PAGE3
电子活页3-29实现NumPy数组的统计计算
【技能训练3-42】实现NumPy数组的统计计算
【训练要求】
在JupyterNotebook开发环境中创建j3-42.ipynb,然后编写代码实现NumPy数组的统计计算。
【实施过程】
(1)计算NumPy数组元素沿指定轴的最小值与最大值
代码如下:
importnumpyasnp
array1=np.array([[3,7,5],[8,4,3],[2,4,9]])
print(array1)
#调用amin()函数
print(np.amin(array1))
#调用amin()函数,取axis=1
print(np.amin(array1,1))
#调用amax()函数
print(np.amax(array1))
#调用amax()函数,取axis=0
print(np.amax(array1,axis=0))
输出结果:
[[375]
[843]
[249]]
2
[332]
9
[879]
(2)计算NumPy数组元素中最大值与最小值的差值
代码如下:
importnumpyasnp
array2=np.array([[3,7,5],[8,4,3],[2,4,9]])
print(原数组:\n,array2)
print(np.ptp(array2))
print(沿着行方向:,np.ptp(array2,1))
print(沿着列方向:,np.ptp(array2,0))
输出结果:
原数组:
[[375]
[843]
[249]]
7
沿着行方向:[457]
沿着列方向:[636]
(3)沿指定轴计算NumPy数组元素的百分位数
代码如下:
importnumpyasnp
array3=np.array([[2,10,20],[80,43,31],[22,43,10]])
print(原数组array3:\n,array3)
print(沿着axis=0计算百分位数,np.percentile(array3,10,0))
print(沿着axis=1计算百分位数,np.percentile(array3,10,1))
输出结果:
原数组array3:
[[21020]
[804331]
[224310]]
沿着axis=0计算百分位数[6.16.612.]
沿着axis=1计算百分位数[3.633.412.4]
(4)计算NumPy数组元素的中位数
代码如下:
array4=np.array([[30,65,70],[80,95,10],[50,90,60]])
#输出数组array4
print(array4)
#调用median()函数
print(np.median(array4))
#axis=0
print(np.median(array4,axis=0))
#axis=1
print(np.median(array4,axis=1))
输出结果:
[[306570]
[809510]
[509060]]
65.0
[50.90.60.]
[65.80.60.]
(5)沿指定的轴计算NumPy数组元素的算术平均值
代码如下:
importnumpyasnp
array5=np.array([[1,2,3],[3,4,5],[4,5,6]])
print(array5)
#调用mean()函数
print(np.mean(array5))
print(沿轴0调用mean()函数:)
print(np.mean(array5,axis=0))
print(沿轴1调用mean()函数:)
print(np.mean(array5,axis=1))
输出结果:
[[123]
[345]
[456]]
3.6666666666666665
沿轴0调用mean()函数:
[234
沿轴1调用mean()函数:
[2.4.5.]
(6)使用average()函数计算NumPy数组元素的加权平均值
代码如下:
importnumpyasnp
array6=np.array([1,2,3,4])
print(array6)
#未指定权重调用average()函数
print(np.average(array6))
#若不指定权重相当于对数组元素求算术平均值
weight=np.array(