添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
python 求均值、中位数、众数的方法

python 求均值、中位数、众数的方法

看了n久的python,可当解决实际项目问题去搜寻众多API解释时,使用何种方法合适,还是毫无方向。度娘还是最好的帮手,找到目标博案后再结合原版的API解释去理解,更为直观有效些。

今天记录一下求均值、中位数、众数的方式

nums = [0,4,5,8,8]
#求均值和中位数均可以使用numpy库的方法:
import numpy as np
np.mean(nums)
np.median(nums)
#求均值和中位数均也可以使用panda库的方法:
import panda as pd
gm = pd.Series(data=nums)
gm.mean()
gm.median()
  • 求众数方法一:

在numpy中没有直接的方法,但是也可以这样实现:

import numpy as np
#获取平铺后每个索引位置值在原始数列中出现的次数
counts = np.bincount(nums)
#返回众数 返回最大值在数列中的索引位置
np.argmax(counts)

其中np.bincount方法返回了一个长度为nums最大值的列表

即 [0,4,5,8,8] ——> bincount 返回 长度为8的列表

[1,0,0,0,1,1,0,0,2] 也就是把0-8平铺到列表里,然后对0-8的每个数字计数

此处0、4、5各为1次,所以在返回的列表内的对应索引位置显示为1

8为2次,即索引8的位置显示2

其中np.argmax方法返回数列中最大值的索引位置。

即[1,0,0,0,1,1,0,0,2] ——> 最大值2的索引位置为8


  • 求众数方法二——直接利用scipy下stats模块:
from scipy import stats