pandas(5):数学统计——描述性统计

Pandas 可以对 Series 与 DataFrame 进行快速的描述性统计,方便快速了解数据的集中趋势和分布差异。源Excel文件descriptive_statistics.xlsx:
image

一、描述性统计汇总df.describe()

df.describe(percentiles=None, include=None, exclude=None)

参数说明:

  • percentiles,百分位数,默认为[.25, .5, .75],即上下四分位数和中位数,其中,中位数一定输出;
  • include,控制描述性统计输出包含的内容。
    数值型和离散型特征数据(定序数据和定类数据)
    默认值:None,即只输出数值型数据列的统计信息(count、mean、std、min、百分位数、max)。
    'all':输入的所有列的统计信息。
    'O':只输出 object(字符、定类数据)的统计信息:count、unique(分类分组数量)、top(出现次数最多的类别)、freq(top出现的频数)
  • exclude,和参数include是相反的,表示不输出哪些内容。
df.describe() # 默认:数值型数据,上下四分位和中位数

image

df.describe([]) # 只输出中位数
df.describe([.4]) # 中位数和40%分位数

image

# 指定类型:只输出字符型离散数据统计特征
df.describe(include='O')
# df.describe(include=[np.object])
# 排除类型
df.describe(exclude=[np.number])

image

二、其他数学统计方法

DataFrame 计算后一般为一个 Series或df,Series 计算后为一个定值。

df.mean() # 返回所有列的均值
df.mean(1) # 返回所有行的均值,下同
df.corr() # 返回列与列之间的相关系数
df.count() # 返回每一列中的非空值的个数
df.max() # 返回每一列的最大值
df.min() # 返回每一列的最小值
df.abs() # 绝对值
df.median() # 返回每一列的中位数
df.std() # 返回每一列的标准差, 贝塞尔校正的样本标准偏差
df.var() # 无偏方差
df.sem() # 平均值的标准误差
df.mode() # 众数
df.prod() # 连乘
df.mad() # 平均绝对偏差
df.cumprod() # 累积连乘,累乘
df.cumsum(axis=0) # 累积连加,累加
df.nunique() # 去重数量,不同值的量
df.idxmax() # 每列最大的值的索引名
df.idxmin() # 最小
df.cummax() # 累积最大值
df.cummin() # 累积最小值
df.skew() # 样本偏度 (第三阶)
df.kurt() # 样本峰度 (第四阶)
df.quantile() # 样本分位数 (不同 % 的值)

特殊说明:

  • 很多方法支持行列指定,默认为列axis=0;
  • 是否排除缺失值,默认排除skipna=False;
  • 假若索引为多层索引,支持索引层次选择,level参数控制;
  • 是否排除bool值,numeric_only,默认为False,不排除;
  • 如果有空值总共算几,min_count,默认为0,一个不算。
posted @ 2021-04-20 20:06  Lu-顺  阅读(1466)  评论(0编辑  收藏  举报