数据分析师的常用 *** (数据分析师必须掌握的

访客4年前黑客文章476

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 正态性检验

  • 直方图初判
data = pd.DataFrame(np.random.randn(1000)*1000+16,columns=['value'])fig = plt.figure(figsize=(16,10))ax1 = fig.add_subplot(2,1,1)ax1.scatter(data.index,data.value) #散点图ax2=fig.add_subplot(2,1,2)ax2.hist(data['value'],bins=50) #直方图plt.show()
  • K-S检验

理论推导:

  1. 算出均值、标准差
  2. 统计频率、降序排列 ,计算累计频率
  3. 算出 标准化取值 = (值-平均数)/方差
  4. 通过查表 根据标准化取值 得出理论分布
  5. 用累计频率-理论分布 。 接着查表 得出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 = pd.Series(np.random.rand(1000))cats = pd.qcut(data,10)cats.value_counts(sort=False)

相关文章

基于RFM模型下的老客户召回思路:针对不同象限的老客户该如何对症下药?

基于RFM模型下的老客户召回思路:针对不同象限的老客户该如何对症下药?

假设因为某种原因,你需要召回你的老客户。差异消费属性层级的老客户,需要差异的召回触动点,因此你大概需要对你的老客户举办分层处理惩罚。这个时候就引入了一个客户干系打点模子:RFM模子。本文重点分享基于R...

云顶之弈最新阵容推荐 S4玉剑仙阵容运营思路分享

云顶之弈玉剑仙阵容怎么玩?云顶S4赛季命运之轮已经正式开启了。还不是很了解新赛季玉剑仙阵容怎么玩的小伙伴们,下面就一起来看看吧。 玉剑仙阵容玩法攻略 阵容英雄 莫甘娜,刀妹,风女,娜美,蛇女,猫...

完美世界怎么赚钱?完美世界手游赚钱出金思路

一、准备工作 1、电脑配置:至少E3+16g,可以开5-8个模拟器,至少一台; 2、网络配置:网线一条,后期视封号情况可以上IP; 3、账号选择:完美世界手游由由腾讯游戏和完美世界联手打造,登陆游戏需...

qq赚钱?提供一个QQ赚钱的思路

qq赚钱(提供一个QQ赚钱的思路)一个做项目能不能做成,全都取决于这个人的思维和格局,这句话不是没有道理的。 项目是死的,人是活的,同样是操作一个项目,有的兄弟一直进账,而有的兄弟却怨天尤人寸步难行...

lol云顶之奕6森林阵容怎么搭配 6森林阵容搭配思路详解

lol云顶之奕6森林阵容怎么搭配 6森林阵容搭配思路详解

云顶之奕6森林有什么用?在英雄联盟游戏中,森林英雄会让所有森林英雄获得分身 ,下面小编就来给大家介绍一下,一起来看看吧! 阵容羁绊 泰坦、大树、翠神、宝石、妖姬、娜美、妮蔻、拉克丝。 解析:...

信息流推广的核心操作和优化思路

信息流推广的核心操作和优化思路

谢盼龙个人从事广告投放有4年的时间,以下从个人的角度总结一下信息流推广中的核心操作和优化思路。做此总结,仅供参考。  一、核心操作  信息流推广的操作比竞价要简单,可操作的地方其实...