博主已开设个人weixin公众号【数据肥皂泡】:专注于数据分析、数据建模等领域,博主也会不定期分享个人生活和工作感悟。欢迎各位志同道合的朋友,一起学习,一起进步,一起成长。
微信搜索【数据肥皂泡】或搜索weixin号【sq23166】,关注博主,回复【加微信】即可加博主个人微信,看博主朋友圈分享。
对于python中常用的一些描述统计量,博主已整理成函数,直接拿去用就行了。
import pandas as pdimport numpy as npfrom scipy.stats import modedef statistics(data_frame: np.ndarray):'''input:values: 一维数组'''items = {'数据量': len(data_frame),'最小值': data_frame.min(),'最大值': data_frame.max(),'平均值': round(data_frame.mean(), 6),'众数': mode(data_frame, keepdims=True)[0][0],'中位数': np.median(data_frame),'上四分位数': np.quantile(data_frame, q=0.25),'下四分位数': np.quantile(data_frame, q=0.75),'异众比率': round(1 - (mode(data_frame, keepdims=True)[1][0]/len(data_frame)), 6),'极差': data_frame.max() - data_frame.min(),'离散系数': round(data_frame.std()/(data_frame.mean() + 1e-6), 6),'偏态系数': pd.Series(data_frame).skew(), # skew() 偏度'峰态系数': pd.Series(data_frame).kurt() # kurt() 峰度}return itemsif __name__ == '__main__':data = np.array([23, 45, 6, 56, 76,37,64,56,12, 23, 23])print(statistics(data_frame=data))
输出结果:
{'数据量': 11, '最小值': 6, '最大值': 76, '平均值': 38.272727, '众数': 23, '中位数': 37.0, '上四分位数': 23.0, '下四分位数': 56.0, '异众比率': 0.727273, '极差': 70, '离散系数': 0.567661, '偏态系数': 0.20389111241526475, '峰态系数': -1.182571196072816}
python描述分析常用统计量(最大值 最小值 平均值 众数 中位数 四分位数 异众比率 极差 离散系数 偏态系数 峰态系数)