Python Measuring Central Tendency
优质
小牛编辑
131浏览
2023-12-01
数学中心趋势意味着测量数据集的值的位置的中心或分布。 它给出了数据集中数据的平均值的概念,并且还指示了值在数据集中的扩展范围。 这反过来有助于评估新输入适应现有数据集的可能性,从而有助于评估成功的可能性。
有三种主要的集中趋势度量,可以使用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()
其output如下 -
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()
其output如下 -
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