python数据描述

目录

集中趋势

均值(加权截尾去尾几何调和)

中位数

分位数

众数

极差

四分位差

方差和标准差

协方差

变异系数(标准差系数、离散系数)

分布形状

偏度(数据分布对称性的测度)

峰度(数据分布曲线顶端陡峭或扁平程度的指标)

数据透视表 


集中趋势

均值(加权截尾去尾几何调和)

np.mean(jd_stock['opening_price'])
# 加权算术平均数
np.average(jd_stock['opening_price'],weights=jd_stock['volume'])
jddf['opening_price'].mean()
# 截尾均值【去掉最大N个和最小的N个值之后的均值】
from scipy import stats
stats.tmean(jd_stock['opening_price'],(25,30))
# 缩尾均值
stats.matats.winsorize(jd_stock['opening_price'],(0.05,0.05)).mean()
#几何平均&调和平均
stats.gmean(jd_stock['opening_price'])
stats.hmean(jd_stock['opening_price'])

中位数

np.median(jd_stock['opening_price'])
jddf['opening_price'].median()
stats.nanmedian(jd_stock['opening_price'])

分位数

#计算指定分位点的分位数
stats.scoreatpercentile(jd_stock['opening_price'],[10,20,25,50,75,100])
#计算指定数值所处的分位点
stats.percentileofscore(jd_stock['opening_price'],30.27)
#也可以用stats.mstats.mquantiles计算

众数

stats.mode(jd_stock['opening_price'])
>返回众数和众数出现的次数
pandas对象也可以用mode方法求众数
  • 离散程度

极差

np.max(jd_stock['opening_price'])-np.min(jd_stock['opening_price'])
jddf['opening_price'].max()-jddf['opening_price'].min()

四分位差

stats.scoreatpercentile(jddf['opening_price'],75)-
stats.scoreatpercentile(jddf['opening_price'],25)

方差和标准差

np.var(jd_stock['opening_price'],ddof=1)
# ddof设置为1时,表示计算自由度为n-1的样本修正方差。ddof默认0
jd_stock['opening_price'].var(ddof=1)
np.std(jd_stock['opening_price'],ddof=1)
jd_stock['opening_price'].std(ddof=1)
stats.tvar(jddf['opening_price'])
stats.nanstd(jddf['opening_price'])

协方差

np.cov(jd_stock['opening_price'],jd_stock['closing_price'],bias=1,ddof=1)
# bias=1表示结果需要除以N否则只计算分子部分
# 返回结果为4*4矩阵,对角线为变量1,2的方差

变异系数(标准差系数、离散系数)

cv=标准差/均值

相对指标:对不同总体或样本数据的离散程度作比较

分布形状

偏度(数据分布对称性的测度)

左偏【左边尾巴】,偏度小于0

jddf['opening_price'].skew()

峰度(数据分布曲线顶端陡峭或扁平程度的指标)

黑线服从尖峰(leptokurtic)、厚尾(thick-tailed)分布的峰度值大于3

jddf['opening_price'].kurt()

数据透视表 

pivot_table(data,values=,index=,columns=,aggfun='mean',
           fill_value = ,margins=False,dropna=True,margins_name='All')

pivot_table(storesales,values=['orders'],index=['store'],columns=['method'],aggfun='mean',
           fill_value =0)

data:指定pandas中的dataframe

index、columns、values:分别对应数据透视表中的行列值,都是df指定的列

aggfunc:指定汇总形式

margins:指定分类汇总总和总计

fill_value:指定填补的缺失值

dropna:指定是否所有数据项都是缺失值的列

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章