空枝|使用Pandas数据处理与分析( 四 )


#使不使用函数 , 根据你的理解都可以 , 这里使用函数data['标准化月销量']=data.月销量.transform(lambda x : (x-x.min())/(x.max()-x.min()))Z-score标准化法data['Z_月销量']=data['月销量'].transform(lambda x : (x-x.mean())/x.std())3.数据离散化处理 。 连续值经常需要离散化或者分箱 , 方便数据的展示和理解 , 以及结果的可视化 。 比如最常见就是日常生活中对年龄的离散化 , 将年龄分为:幼儿、儿童、青年、中年、老年等 。
#新增一列 , 将月销量划分成10个等级data['data_cut']=pd.cut(data['月销量'],bins=10,labels=[1,2,3,4,5,6,7,8,9,10])#新增一列 , 将月销量划分成10个等级data['data_qcut']=pd.qcut(data['月销量'],q=10,labels=[1,2,3,4,5,6,7,8,9,10])这两种都是对数据进行离散化 , 但通过结果仔细一看 , 你会发现 , 这两者的结果是不同的 。 说简单点就是 , 一个是等距分箱 , 一个是等频分享(分位数分箱) , 往往后者更常用 。
(4) 数据精简数据精简在数据分析和数据挖掘中至关重要 , 数据挖掘和分析的往往是海量数据 , 其海量特征主要体现在两个方面:第一 , 样本量庞大;第二 , 变量个数较多 。 海量数据无疑会影响建模的效率 , 为此主要的应对措施有:

  1. 压缩样本量 。 主要是指随机抽样
  2. 简约变量值 。 主要是指离散化处理
  3. 变量降维 。 主要是将许多变量用少数变量来分析(诸如因子分析等)
变量的离散化处理前面已经介绍 , 这里从随机抽样入手 。 关于变量降维 , 后续关于算法的学习在具体介绍 。
#随机不重复抽取100行数据样本data.sample(n=100)关于随机抽样函数如下:
  • sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
  • n和frac作用是相同的 , n是抽样个数 , frac是抽样比例(浮点数);
  • replace:是否为有放回抽样 , 取replace=True时为有放回抽样;
  • weights这个是每个样本的权重 , 具体可以看官方文档说明 。
4.数据分析终于来到了数据分析环节 , 前面所做的工作全是为了数据分析和数据可视化做准备 。 这里本文只是进行一些简单的数据分析 , 关于模型啊 , 算法啊……这些 , 这里不做介绍 , 在掌握这些简单的分析之后 , 可以去理解更高深的分析方法 。
(1) 描述性分析1.集中趋势 表示数据集中趋势的指标有:平均值、中位数、众数、第一四分位数和第三四分位数 。
#通过定义一个函数 , 来查看数据的集中趋势def f(x):return pd.DataFrame([x.mean(),x.median(),x.mode(),x.quantile(0.25),x.quantile(0.75)],index=['mean','median','mode','Q1','Q3'])#调用函数f(data['月销量'])2.离散程度 表示数据离散程度的有:方差 , 标准差 , 极差 , 四分位间距 。
#通过定义一个函数 , 来查看数据的离散程度def k(x):return pd.DataFrame([x.var(),x.std(),x.max()-x.min(),x.quantile(0.75)-x.quantile(0.25)],index=['var','std','range','IQR'])#调用函数k(data['现价'])3.分布形态
表示数据分布的有:偏度和峰度 。
def g(x):return pd.DataFrame([x.skew(),x.kurt()],index=['skew','kurt'])(2) 相关性分析研究两个或两个以上随机变量之间相互依存关系的方向和密切程度的方法 。 线性相关关系主要采用皮尔逊(Pearson)相关系数r来度量连续变量之间线性相关强度;r>0,线性正相关;r<0,线性负相关;r=0,两个变量之间不存在线性关系 , 但是 , 并不代表两个变量之间不存在任何关系 , 有可能是非线性相关 。
#相关系数矩阵data.corr()#协差阵data.cov()#任意两列相关系数data['月销量'].corr(data['累计评价']#因变量与所有变量的相关性data.corrwith(data['月销量'])


推荐阅读