1 分布分析:
发现各个维度下数据的分布情况
研究数据分布特征和分布类型;
主要统计量:极差 大小反应分布情况是否稳定
频率分布情况: 一般用直方图 分组区间使用pd.cut . 累积频率.cumsum()
定量一般用直方图。定性字段一般用饼图
分组组距及组数
文章插图
2 对比分析
绝对数比较
相对数比较
3 统计分析
集中趋势度量:
算数平均数 .mean()
位置平均数:中位数 。median()。众数.mode()、 。。。
离中趋势度量
极差
分位差 样本描述性统计.describe() . 四分之三位数/四分之一位数
方差、标准差
文章插图
4 帕累托分析 (贡献度分析) 二八定律
首先对目标数据进行排序:
data.sort_values(0,ascending = False,inplace=True)然后求出累计占比:
data['累计占比'] = data[0].cumsum()/data[0].sum()制作图表:
plt.figure(figsize=(16,7))?data[0].plot(kind='bar', color='g',title='haha')?plt.xticks(rotation=0)?data['累计占比'].plot(style = '--ko', secondary_y = True)?plt.axvline(6,color='r',linestyle='--')?plt.show()
文章插图
5 正态性检验
- 直方图初判
- K-S检验
- 算出均值、标准差
- 统计频率、降序排列 , 计算累计频率
- 算出 标准化取值 = (值-平均数)/方差
- 通过查表 根据标准化取值 得出理论分布
- 用累计频率-理论分布。接着查表 得出p。如果p>0.05 基本满足正太分布
from scipy import stats?u = data['value'].mean()std = data['value'].std()stats.kstest(data['value'],'norm',(u,std))6 相关性分析
首先检验数据是否符合正态分布 ,
如果符合使用皮尔森相关系数:data.corr()
不符合的话使用 斯皮尔曼相关系数:data.corr(method='spearman')
7 数据处理
判断是否有缺失值 :
data.isnull() / data.notnull()返回布尔型结果删除缺失值
data.dropna(inplace=True)替换缺失值:
data.fillna('填充的值',inplace=True) data.fillna(method='pad') . 用之前的值填充。backfill用之后的值填充拉格朗日插值法填充数据:
def f(s,n,k=5): y = s[list(range(n-k,n+k+1))] y = y[y.notnull()] return lagrange(y.index,list(y))(n)?for i in range(len(data)): if data[0].isnull()[i]: data[0][i] = f(data[0],i) print(f(data[0],i))数据标准化:
0-1 标准化
def f(df,*cols):? df_n = df.copy()? for col in cols:? ma = df_n[col].max()? mi = df_n[col].min()? df_n[col+'_n'] = (df_n[col]-mi) / (ma-mi)? return df_n?df_n = f(data,'value1','value2')df_n??z-score标准化
z-score 标准化 把非标准正太分布 换成标准正太腹部 (值-平均值)/标准差
def f_z(df,*cols):? df_z = df.copy()? for col in cols:? me = df_z[col].mean()? std = df_z[col].std()? df_z[col+'_z'] = (df_z[col]-me) / std? return df_z?df_z = f_z(data,'value1','value2')df_z数据连续属性离散化
等宽法:
#cut 方法 划分区间?bins = [1,30,50,100]cats = pd.cut(data['age'],bins,right=False)data['age_a'] = cats等频法:
#等频划分 按照分位数划分 以相同的数量记录到某个区间# qcut 方法?data = https://www.hoyoh.com/xuqiu/pd.Series(np.random.rand(1000))cats = pd.qcut(data,10)cats.value_counts(sort=False)
- 野生蜂窝的功效与作用(蜂窝的3大作用与5大功效
- 地推营销怎么做最有效(如何用7天的地推,获取
- 水粉对比色是什么意思(你需要知道的色彩美学常
- 职业经理人需要具备什么能力(洗脑最厉害的10句
- 揭秘对早恋的3大错误认识 什么是早恋的倾向
- 虾皮是什么样子的东西(正确吃虾皮才能体现虾
- 网络金融业务有哪些(您知道您的个人金融信息
- 简单回答萤火虫会发光的原因(带着孩子一起来
- 男生篮球运动鞋什么牌子好(NBA球星签约的国内
- 金牛座男生喜欢什么类型的女生(李连杰利智告