Python - 数据科学之测量中心趋势

  • 简述

    数学上的集中趋势意味着测量数据集值的位置的中心或分布。它给出了数据集中数据的平均值的概念,并指示了这些值在数据集中的分布范围。这反过来有助于评估新输入适合现有数据集的机会,从而有助于评估成功的可能性。
    可以使用 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()
    
    它的输出如下 -
    chartprop2.png
    
         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