title: D09|Pandas 常用描述性统计函数
author: Adolph Lee
categories: 数据挖掘基础
tags:
- Python
- 数据挖掘基础
- Pandas
- DataFrame
clip
clip(self, lower=None, upper=None, axis=None, inplace=False, *args, **kwargs)
边界值替换,定义上下边界,并将超出边界的值替换为边界值
- lower 下边界 小于下边界值会被替换 传入数值或则一个类似数组的结构
- upper 上边界 大于上边界值会被替换 传入数组或则一个类似数组的结构
- axis 指定数据以指定轴对齐
- inplace 是否在原数据结构操作
import pandas as pd import numpy as np data_frame = (0,20).reshape(5,4),columns=['A','B','C','D']) new_data_frame = da(5,10) print(new_data_frame) array = ([5,6,7,8,9]) new_data_frame = da(array,array+5,axis=0) print(new_data_frame) array = (-5,15).reshape(5,4),columns=['A','B','C','D']) new_data_frame = da(array,array+1) print(new_data_frame)
count
count(self, axis=0, level=None, numeric_only=False)
统计函数,统计每行或则每列的非空元素个数
- 指定行列0:行,1:列。如果是0 则对每一列的元素计数,如果是1则对每一行行内元素计数,默认为0
- level 指定多索引
- numeric_only 仅统计整数、浮点数、或布尔值。默认为false
import pandas as pd import numpy as np data_frame = ([['Arya','刺客',99],['Jaime','战士',99],['Tyrone','谋士',np.nan]],columns=['姓名','职业','武力值']) # 统计每一个列中的非空元素个数 prin()) # 选择索引层级并计数 data_frame = ([['Arya','刺客',99],['Jaime','战士',99],['Tyrone','谋士',np.nan],['Arya','刺客',9999]],columns=['姓名','职业','武力值']) data_frame = da(['姓名','职业']) prin(level='姓名'))
mean
返回均值
mean(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
- axis 0:行,1:列
- skipna 计算时跳过空值,默认为True
- level 使用多索引时,指定索引
- numeric_only 只统计浮点数、整数、布尔值。默认为None(尝试计算所有,并只统计数值型数据)
- 其它关键字参数
import pandas as pd import numpy as np data_frame = ([['Arya','刺客',100],['Jaime','战士',50],['Tyrone','谋士',np.nan]],columns=['姓名','职业','武力值']) prin())
median
返回中位数
mean(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
- axis 0:行,1:列
- skipna 计算时跳过空值,默认为True
- level 使用多索引时,指定索引
- numeric_only 只统计浮点数、整数、布尔值。默认为None(尝试计算所有,并只统计数值型数据)
- 其它关键字参数
import pandas as pd import numpy as np data_frame = (0,20).reshape(5,4),columns=['A','B','C','D']) print(data_frame) prin())
quantile
quantile(self, q=0.5, axis=0, numeric_only=True, interpolation=’linear’)
返回分位数
- 分位数位置,默认返回中位数
- axis 0:行,1:列
- numeric_only 只统计浮点数、整数、布尔值。默认为None(尝试计算所有,并只统计数值型数据)
- interpolation 指定中位数处于两个数据点之间的插值方法,默认为linear
1. linear=i+(j-i)*q
2. lower=i
3. higher=j
4. nearest=i or nearest = j (靠近谁取谁)
5. midpoint=(i+j)/2
import pandas as pd import numpy as np data_frame = (0,24).reshape(6,4),columns=['A','B','C','D']) print(data_frame) # 取下四分位数 prin)) # 利用midpoint取下四分位数 prin,interpolation='midpoint'))
max、min
max\min(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
- axis 0:行,1:列
- skipna 计算时跳过空值,默认为True
- level 使用多索引时,指定索引
- numeric_only 只统计浮点数、整数、布尔值。默认为None(尝试计算所有,并只统计数值型数据)
- 其它关键字参数
import pandas as pd import numpy as np data_frame = (0,24).reshape(6,4),columns=['A','B','C','D']) # 取最大值 prin()) # 取最小值 prin())
kurt、skew
峰态、偏态
kurt/skew(self, axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
- axis 0:行,1:列
- skipna 计算时跳过空值,默认为True
- level 使用多索引时,指定索引
- numeric_only 只统计浮点数、整数、布尔值。默认为None(尝试计算所有,并只统计数值型数据)
- 其它关键字参数
import pandas as pd import numpy as np data_frame = (0,24).reshape(6,4),columns=['A','B','C','D']) print(data_frame) # 偏态系数 prin()) # 峰态系数 prin())
var、std
方差、标准差
var\std(self, axis=None, skipna=None, level=None, ddof=1, numeric_only=None, **kwargs)
- axis 0:行,1:列
- skipna 计算时跳过空值,默认为True
- level 使用多索引时,指定索引
- ddof 自由度,默认为1,计算方差时,除数为(元素个数-ddof),一般方差公式中除数为元素个数。
- numeric_only 只统计浮点数、整数、布尔值。默认为None(尝试计算所有,并只统计数值型数据)
- 其它关键字参数
import pandas as pd import numpy as np data_frame = (0,24).reshape(6,4),columns=['A','B','C','D']) print(data_frame) # 计算方差 prin()) prin(ddof=0)) # 计算标准差 prin()) prin(ddof=0))
cov
协方差
cov(self, min_periods=None)
- 两两计算协方差,返回协方差矩阵
- 不计算空值
- min_periods 指定最少有效元素个数
import pandas as pd import numpy as np data_frame = (24).reshape(6,4),columns=['A','B','C','D']) print(data_frame) prin())
corr
相关系数矩阵
corr(self, method=’pearson’, min_periods=1)
- 两两计算相关系数,返回相关系数矩阵
- 不计算空值
- method 支持皮尔逊相关系数,斯皮尔曼相关系数,肯德尔相关系数检验。{pearson,kendall,spearman}
- min_periods 指定最少有效元素个数
import pandas as pd data_frame = ([[1,2,5],[2,4,17],[3,6,37],[4,8,65],[5,10,101]],columns=['A','B','C']) print('先观察一下三种数据的相关性,然后再看一下三大相关系数的检验效果') print(data_frame) print('皮尔逊相关系数') prin(method='pearson')) print('肯德尔相关系数') prin(method='kendall')) print('斯皮尔曼相关系数') prin(method='spearman'))
describe
返回常用统计量
import pandas as pd data_frame = ([[1,2,5],[2,4,17],[3,6,37],[4,8,65],[5,10,101]],columns=['A','B','C']) prin())
如果你细心观察,就会发现,这些常用统计函数的用法都出于一辙,很容易就掌握了,掌握了基本的方法以后,很快,我们就进入数据分析的实战,然后再到数据挖掘。
转载请注明出处