对于 python的 pandas.series(),describe() 不是太了解,这里稍微细致的解释一下。
首先,引入官方的解释:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html
返回值形式如:
DataFrame.count :数据总量
DataFrame.max:最大值
DataFrame.min:最小值
DataFrame.mean:平均值
DataFrame.std:数据样本的标准差
DataFrame.select_dtypes:数据的类型
Subset of a DataFrame including/excluding columns based on their dtype.
另外,还有四分位数,先举个例子:
#-*- encoding:utf-8 -*-
import pandas as pd
# s = pd.Series([1, 2, 3, 4, 5])
s = pd.Series([1, 3, 4, 2, 5])
s.describe()
count 5.000000
mean 3.000000
std 1.581139
min 1.000000
25% 2.000000
50% 3.000000
75% 4.000000
max 5.000000
dtype: float64
四分位数
概念:
分位数是将总体的全部数据按大小顺序排列后,处于各等分位置的变量值。如果将全部数据分成相等的两部分,它就是中位数;如果分成四等分,就是四分位数;八等分就是八分位数等。四分位数也称为四分位点,它是将全部数据分成相等的四部分,其中每部分包括25%的数据,处在各分位点的数值就是四分位数。四分位数有三个,第一个四分位数就是通常所说的四分位数,称为下四分位数,第二个四分位数就是中位数,第三个四分位数称为上四分位数,分别用Q1、Q2、Q3表示。
- 第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
- 第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。
- 第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。
第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。
计算示例:
首先确定四分位数的位置,这是N-1版本的计算方式,也是代码中所使用的方式:
Q1的位置=1+(n-1)x 0.25
Q2的位置=1+(n-1)x 0.5
Q3的位置=1+(n-1)x 0.75
n表示项数
对于四分位数的确定,有不同的方法,另外一种方法基于N+1 基础。即
Q1的位置= (n+1) × 0.25
Q2的位置= (n+1) × 0.5
Q3的位置= (n+1) × 0.75
比如有5个数字,1, 3, 4, 2, 5
首先排序为,1, 2, 3, 4, 5
Q1的位置 = 1 + (5 - 1)x 0.25 = 2
Q2的位置 = 1 + (5 - 1)x 0.50 = 3
Q3的位置 = 1 + (5 - 1)x 0.75 = 4
于是:
Q1 = 2
Q2 = 3
Q3 = 4
不会吧,这未免也太简单了吧,哈哈
上面是奇数项,如果是偶数项呢?
#-*- encoding:utf-8 -*-
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5, 6])
s.describe()
count 6.000000
mean 3.500000
std 1.870829
min 1.000000
25% 2.250000
50% 3.500000
75% 4.750000
max 6.000000
dtype: float64
看吧,输入的全都是整数,出来了小数,这个咋整。很简单,
Q1的位置 = 1 + (6 - 1)x 0.25 = 2.25 # Q1在第 2 与第 3 个数字之间
Q2的位置 = 1 + (6 - 1)x 0.50 = 3.50 # Q2在第 3 与第 4 个数字之间
Q3的位置 = 1 + (6 - 1)x 0.75 = 4.75 # Q3在第 4 与第 5 个数字之间
于是
Q1 = 0.75 x 2 + 0.25 x 3 = 2.25
Q2 = 0.50 x 3 + 0.50 x 4 = 3.50
Q3 = 0.25 x 4 + 0.75 x 5 = 4.75
OK,应该都理解了吧。教程到这里结束。
我知道你们肯定自己复制过去代码都感觉很麻烦。没关系,我已经做了一个notebook的一些实例,欢迎下载。
如果对你有帮助,希望能够点个赞,谢谢!
参考文献:
https://baike.baidu.com/item/%E5%9B%9B%E5%88%86%E4%BD%8D%E6%95%B0/5040599?fr=aladdin