Python数据科学 专题
您的位置:python > Python数据科学专题 > Python衡量中心趋势
Python衡量中心趋势
作者:--    发布时间:2019-11-20

数学中心趋势意味着测量数据集中值或位置的分布。 它给出了数据集中数据的平均值的一个概念,也表明数据集中数值的扩展程度。 这反过来有助于评估新的输入符合现有数据集的可能性,从而有助于评估成功的可能性。

有三种主要的集中趋势度量可以使用pandas python库中的方法来计算。

  • 平均数 - 这是数据的平均值,它是值与数值总和的分界。
  • 中位数 - 当值按升序或降序排列时,它是分布中的中间值。
  • 模式 - 这是分配中最常见的值。

计算平均数和中位数

pandas函数可以直接用来计算这些值。

import pandas as pd

#create a dictionary of series
d = {'name':pd.series(['tom','james','ricky','vin','steve','smith','jack',
   'lee','chanchal','gasper','naviya','andres']),
   'age':pd.series([25,26,25,23,30,29,23,34,40,30,51,46]),
   'rating':pd.series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])}

#create a dataframe
df = pd.dataframe(d)
print ("mean values in the distribution")
print (df.mean())
print ("*******************************")
print ("median values in the distribution")
print (df.median())

执行上面示例代码,得到以下结果 -

mean values in the distribution
age       31.833333
rating     3.743333
dtype: float64
*******************************
median values in the distribution
age       29.50
rating     3.79
dtype: float64

计算模式

根据数据是否连续或者是否存在具有最大频率的值,模式可能会或可能不会在分布中可用。 我们通过下面的简单分布来找出模式。 这里有一个在分布中具有最大频率的值。

import pandas as pd

#create a dictionary of series
d = {'name':pd.series(['tom','james','ricky','vin','steve','smith','jack',
   'lee','chanchal','gasper','naviya','andres']),
   'age':pd.series([25,26,25,23,30,25,23,34,40,30,25,46])}
#create a dataframe
df = pd.dataframe(d)

print (df.mode())

执行上面示例代码,得到以下结果 -

     age      name
0   25.0    andres
1    nan  chanchal
2    nan    gasper
3    nan      jack
4    nan     james
5    nan       lee
6    nan    naviya
7    nan     ricky
8    nan     smith
9    nan     steve
10   nan       tom
11   nan       vin

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册