#Python小组第四期3组第三次学习总结#

[TOC]

第五章

课时27 基本统计

  • 计数、求和、均值、方差etc

参考excel透视表中对应的一些计算方法

describe()
# size,sum,mean,var,std
data.score.describe()
data.score.size
data.score.max()
data.score.min()
data.score.sum()
data.score.mean()
data.score.var()
data.score.std()
# 稍微复杂的案例
#累计求和
data.score.cumsum()

#最大值和最小值所在位置
data.score.argmin()
data.score.argmax()

data.score.quantile(
    0.3, 
    interpolation="nearest"
)

课时28 分组分析

分析对象的聚类分群,对比差异性

  • 数值分组
  • 区域分组等
# groupby(by=[分组列1,分组列2,...)[统计列1,统计列2...].agg({统计列别名1:统计函数1,统计列别名2:统计函数2})
aggResult = data.groupby(
    by=['class']
)['score'].agg({
    '总分': numpy.sum, 
    '人数': numpy.size, 
    '平均值': numpy.mean
})

课时29 分布分析

  • 等距或者不等距,研究各组分布规律
  • 收入,年龄,消费
#cut
#groupby

课时30 交叉分析

  • 多个分组变量形成交叉表,进行对比分析
  • 定量、定量
  • 定量、定性
  • 定性、定性
# pivot_table(values, index,columns, aggfunc, fill_value)
# 数据透视表
# fill_value为NA数据的填充值
ptResult = data.pivot_table(
    values=['年龄'], 
    index=['年龄分层'], 
    columns=['性别'], 
    aggfunc=[numpy.size]
)

课时31 结构分析

  • 组成部分的占比,分析内部特征

定性分组

  • 性别、地区,市场占有率
  • 股权
# axis
# 0:按列运算,1:按行运算

这里axis和前面3.3课时的时候的axis又会遇到纠结
drop(1,axis=0)是按行删除,但是apply(min,axis=0)是按列计算,如何统一?

自己的思考:看结果,如果值与dataframe的列数一致axis = 0,如果值与dataframe的行数一致axis=1.那么axis=0的结果是删除了第2(1+1,0起点)行,也就是删除的内容与列数一致。所以是列操作,稍微有点儿绕,求大神指点

  • 外运算

  • 内运算

  • pandas默认按列计算--矩阵、向量

ptResult.div(ptResult.sum(axis=1), axis=0)

ptResult.div(ptResult.sum(axis=0), axis=1)

课时32 相关分析

随机变量的相互依存关系

  • 线性
  • 非线性

常见的线性关系为主要研究对象。

Pearson相关系数r来刻画线性相关程度:

  • [0,0.3) 低度相关
  • [0.3,0.8) 中度相关
  • [0.8,1] 高度相关

广告投放和销售额;身高与体重

DataFrame.corr()
Series.corr(other)

$\rho=\frac{Cov(X,Y)}{\delta_{x}\delta_{y}}$
去除量纲后的“协方差”就是相关系数

课时33 RFM分析

定义

  • 客户活跃度、交易金额来进行客户价值分群
  • Recency(最近一次交易), Frequency(交易总次数), Monetray(交易总额)
  • 3个维度,形成8个客群分类
  • 经验公式:RFM评分=100*R_S+10*F_S+1*M_S

基本假设

  • R:最近有过交易行为的客户,再次发生交易的可能性要高于最近没有交易行为的客户
  • F:交易频率较高的客户比交易频率低的客户,更有可能再次发生交易行为
  • M:过去所有交易总金额较多的客户,比交易总金额较少的客户,更有消费积极性
bins = aggData.MonetaryAgg.quantile(
    q=[0, 0.2, 0.4, 0.6, 0.8, 1],
    interpolation='nearest'
)
bins[0] = 0
labels = [1, 2, 3, 4, 5]
M_S = pandas.cut(
    aggData.MonetaryAgg, 
    bins, labels=labels
)
aggData.sort(
    ['level', 'RFM'], 
    ascending=[1, 1]
)
# python3.6运行后,错误,需要更换函数为sort_values
aggData.sort_values(
    ['level', 'RFM'], 
    ascending=[1, 1]
)

课时34 矩阵分析

根据事物重要性,进行关联分析

主要在于两个变量的选择,可视化的来分析多维度的分布情况,进而分析关联性

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本统计 基本统计分析,也叫描述性统计分析,用来概括事物整体状况以及事物间联系(即事物的基本特征),以发现其内在规...
    WesleyLien阅读 2,146评论 0 1
  • 最近在写个性化推荐的论文,经常用到Python来处理数据,被pandas和numpy中的数据选取和索引问题绕的比较...
    shuhanrainbow阅读 4,609评论 6 19
  • 1、基本统计 基本统计分析:描述性统计分析,用来概括事物整体状况以及事物间联系(即事物的基本特征),以发现其内在规...
    AIhenry从入门到放弃阅读 1,442评论 0 0
  • 其实我很早之前就想写下一些想法,针对盆友结婚这事,为什么这会又翻出来写呢,是因为我又发现了曾经的同感,我幼稚的认为...
    aqwert阅读 187评论 0 0
  • 每个人,都有一份喜好与追求。 或有关娱乐。
    万语千言语阅读 177评论 0 0