numpy基础(part4)--统计量

鄙人学习笔记,这个笔记以例子为主。
开发工具:Spyder



统计量

算数平均数

设有样本量为n的样本:

 [x1, x2, ..., xn]

则样本的算数平均数为:

m = (x1 + x2 + ... + xn) / n

相关函数:

np.mean(array)
array.mean()
  • 例子1

代码:

import numpy as np

array = np.array([1, 2, 3, 4, 5]) 
m1 = np.mean(array)
m2 = array.mean()
print(m1, m2)

结果:

  • 例子2

代码:

import numpy as np

array = np.array([[1, 2, 3, 4, 5],
                  [5, 6, 7, 8, 9]]) 


m1 = np.mean(array)
m2 = np.mean(array, axis = 0)
m3 = np.mean(array, axis = 1)
print('m1:', m1, 'm2:',m2, 'm3:',m3)

备注:np.mean()方法中,axis = 0表示垂直求均值, axis = 1表示水平求均值,若不设置axis则是求全部数据的均值。

结果:

加权平均值

设有样本量为n的样本:

 [x1, x2, ..., xn]

有权重:

[w1, w2, ..., wn]

则加权平均值为:

m = (x1*w1 + x2*w2 +...+ xn*wn)/(w1 + w2 +...+wn)

相关函数:

np.average(array, weights = w_array)
  • 例子

代码:

import numpy as np

array = np.array([1, 2, 3, 4, 5]) 
w_array = np.array([0.1, 0.2, 0.3, 0.4, 0.5]) 

m = np.average(array, weights = w_array)
print(m)

结果:

最值

相关函数:

#最大值
np.max()
#最小值 
np.min()
#极值 
np.ptp()

#数组中最大值下标
np.argmax() 
#数组中最小值下标
np.argmin()

#两个同维数组中对应元素中最大/最小元素构成一个新的数组
np.maximun() 
np.minimun()
  • 例子1

代码:

import numpy as np

#产生15个介于[10, 100)区间的随机整数
a = np.random.randint(10, 100, 15)
print(a)
print('最大值:', np.max(a),'最小值:', np.min(a),
      '极值:', np.ptp(a), '最大值下标:', np.argmax(a),
      '最小值下标:', np.argmin(a))

结果:

  • 例子2

代码:

import numpy as np

array01 = np.array([1, 2, 3, 4, 5, 6, 7])
array02 = np.array([7, 6, 5, 4, 3, 2,1])

print(np.maximum(array01, array02))
print(np.minimum(array01, array02))

结果:

中位数

设有样本量为n的样本:

 [x1, x2, ..., xn]

将样本按照大小排序,取中间位置的元素。

若n为奇数,则中位数为最中间的元素。
若n为偶数,中位数为最中间的两个元素的平均值

  • 例子

代码:


import numpy as np

array01 = np.array([1, 2, 3, 4, 5, 6, 7])
array02 = np.array([1, 2, 3, 4, 5, 6, 7, 8])

print('array01中位数', np.median(array01), '\n',
      'array02中位数', np.median(array02))

结果:

标准差

相关函数:

np.std(array)			# 总体标准差
np.std(array, ddof=1)	# 样本标准差
  • 例子

代码:

import numpy as np

array = np.array([1, 2, 3, 4, 5, 6, 7])

#总体标准差
s01 = np.std(array)			
#样本标准差
s02 = np.std(array, ddof=1)

print('总体标准差:', s01, '\n',
      '样本标准差:', s02)

结果:

发布了141 篇原创文章 · 获赞 24 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/m0_37422217/article/details/105178747
今日推荐