Python数据特征分析-对比分析

  • 对比分析
    • 1、绝对数比较 → 相减
      • 生成数据
      • 折线图比较
      • 柱状图比较
      • 柱状图堆叠图比较
      • 差值折线图比较
    • 2、相对数比较 → 相除
      • 结构分析
        • 生成数据
        • 计算额度占比
        • 绘制折线图比较AB产品
      • 比例分析
        • 创建数据-> 消费收入比->面积图表达
      • 空间比较分析(横向对比分析)
        • 创建数据
        • 通过柱状图做横向比较 → 4个产品的销售额总量
        • 多系列柱状图,横向比较前十天4个产品的销售额
      • 动态对比分析(纵向对比分析)
        • 介绍:
        • 创建数据 → 30天内A产品的销售情况
        • 计算累积增长量和逐期增长量
        • 通过折线图查看增长量情况
        • 通过折线图查看发展速度

对比分析

介绍:对比分析 → 两个互相联系的指标进行比较
分类:绝对数比较(相减) / 相对数比较(相除),结构分析、比例分析、空间比较分析、动态对比分析

1、绝对数比较 → 相减

生成数据


# 相互对比的指标在量级上不能差别过大# 创建数据 → 30天内A/B产品的日销售额data = pd.DataFrame(np.random.rand(30,2)*1000,columns = ['A_sale','B_sale'],index = pd.period_range('20170601','20170630'))
print(data.head())

折线图比较

data.plot(kind='line',style = '--.',alpha = 0.8,figsize = (10,3),title = 'AB产品销量对比-折线图')

*

柱状图比较

data.plot(kind = 'bar',width = 0.8,alpha = 0.8,figsize = (10,3),title = 'AB产品销量对比-柱状图')

*

柱状图堆叠图比较

fig3 = plt.figure(figsize=(10,6))
plt.subplots_adjust(hspace=0.3)
# 创建子图及间隔设置ax1 = fig3.add_subplot(2,1,1)
x = range(len(data))
y1 = data['A_sale']
y2 = -data['B_sale']
plt.bar(x,y1,width = 1,facecolor = 'yellowgreen')
plt.bar(x,y2,width = 1,facecolor = 'lightskyblue')
plt.title('AB产品销量对比-堆叠图')
plt.grid()
plt.xticks(range(0,30,6))
ax1.set_xticklabels(data.index[::6])

*


可以很清楚的看出来在同一时间AB产品的销量对比

差值折线图比较

ax2 = fig3.add_subplot(2,1,2)
y3 = data['A_sale']-data['B_sale']
plt.plot(x,y3,'--go')
plt.axhline(0,hold=None,color='r',linestyle="--",alpha=0.8)  # 添加y轴参考线
plt.grid()
plt.title('AB产品销量对比-差值折线')
plt.xticks(range(0,30,6))
ax2.set_xticklabels(data.index[::6])

*

在同一时间,红线以上为A销量高于B产品销量的额度,红线以下表示B高于A产品的额度。

2、相对数比较 → 相除

结构分析

介绍在分组基础上,各组总量指标与总体的总量指标对比,计算出各组数量在总量中所占比重,反映总体的内部结构

生成数据

data = pd.DataFrame({'A_sale':np.random.rand(30)*1000,'B_sale':np.random.rand(30)*200},index = pd.period_range('20170601','20170630'))
print(data.head())
print('------')

*

计算额度占比

data['A_per'] = data['A_sale'] / data['A_sale'].sum()
data['B_per'] = data['B_sale'] / data['B_sale'].sum()
# 计算出每天的营收占比data['A_per%'] = data['A_per'].apply(lambda x: '%.2f%%' % (x*100))
data['B_per%'] = data['B_per'].apply(lambda x: '%.2f%%' % (x*100))
# 转换为百分数
print(data.head())

绘制折线图比较AB产品

# 绝对值对比较难看出结构性变化,通过看销售额占比来看售卖情况的对比
fig,axes = plt.subplots(2,1,figsize = (10,6),sharex=True)
data[['A_sale','B_sale']].plot(kind='line',style = '--.',alpha = 0.8,ax=axes[0])
axes[0].legend(loc = 'upper right')
data[['A_per','B_per']].plot(kind='line',style = '--.',alpha = 0.8,ax=axes[1])
axes[1].legend(loc = 'upper right')

*

比例分析

介绍:在分组的基础上,将总体不同部分的指标数值进行对比,其相对指标一般称为“比例相对数”,比例相对数 = 总体中某一部分数值 / 总体中另一部分数值 → “基本建设投资额中工业、农业、教育投资的比例”、“男女比例”…

创建数据-> 消费收入比->面积图表达

data = pd.DataFrame({'consumption':np.random.rand(12)*1000 + 2000,'salary':np.random.rand(12)*500 + 5000},index = pd.period_range('2017/1','2017/12',freq = 'M'))
print(data.head())
print('------')
# 创建数据 → 某人一年内的消费、工资薪水情况
# 消费按照2000-3000/月随机,工资按照5000-5500/月随机data['c_s'] = data['consumption'] / data['salary']
print(data.head())
# 比例相对数 → 消费收入比data['c_s'].plot.area(color = 'green',alpha = 0.5,ylim = [0.3,0.6],figsize=(8,3),grid=True)
# 创建面积图表达

*

通过面积图可以很清楚的看出消费与收入的比例

空间比较分析(横向对比分析)

介绍:同类现象在同一时间不同空间的指标数值进行对比,反应同类现象在不同空间上的差异程度和现象发展不平衡的状况,空间比较相对数 = 甲空间某一现象的数值 / 乙空间同类现象的数值,一个很现实的例子 → 绝对数来看,我国多经济总量世界第一,但从人均水平来看是另一回事。

创建数据

data = pd.DataFrame({'A':np.random.rand(30)*5000,'B':np.random.rand(30)*2000,'C':np.random.rand(30)*10000,'D':np.random.rand(30)*800},index = pd.period_range('20170601','20170630'))
print(data.head())
print('------')

*

通过柱状图做横向比较 → 4个产品的销售额总量

data.sum().plot(kind = 'bar',color = ['r','g','b','k'], alpha = 0.8, grid = True)
for i,j in zip(range(4),data.sum()):plt.text(i-0.25,j+2000,'%.2f' % j, color = 'k')

*

多系列柱状图,横向比较前十天4个产品的销售额

data[:10].plot(kind = 'bar',color = ['r','g','b','k'], alpha = 0.8, grid = True, figsize = (12,4),width = 0.8)

*

# 关于同比与环比
# 同比 → 产品A在2015.3和2016.3的比较(相邻时间段的同一时间点)
# 环比 → 产品A在2015.3和2015.4的比较(相邻时间段的比较)
# 如何界定“相邻时间段”与“时间点”,决定了是同比还是环比

动态对比分析(纵向对比分析)

介绍:

# 同一现象在不同时间上的指标数值进行对比,反应现象的数量随着时间推移而发展变动的程度及趋势
# 最基本方法,计算动态相对数 → 发展速度
# 动态相对数(发展速度) = 某一现象的报告期数值 / 同一现象的基期数值
# 基期:用来比较的基础时期
# 报告期:所要研究的时期,又称计算期

创建数据 → 30天内A产品的销售情况

data = pd.DataFrame({'A':np.random.rand(30)*2000+1000},index = pd.period_range('20170601','20170630'))
print(data.head())
print('------')

计算累积增长量和逐期增长量

data['base'] = 1000  # 假设基期销售额为1000,后面每一天都为计算期
data['l_growth'] = data['A'] - data['base']  # 累计增长量 = 报告期水平 - 固定基期水平
data['z_growth'] = data['A'] - data.shift(1)['A']  # 逐期增长量 = 报告期水平 - 报告期前一期水平
data[data.isnull()] = 0  # 替换缺失值

*

通过折线图查看增长量情况

data[['l_growth','z_growth']].plot(figsize = (10,4),style = '--.',alpha = 0.8)
plt.axhline(0,hold=None,color='r',linestyle="--",alpha=0.8)  # 添加y轴参考线
plt.legend(loc = 'lower left')
plt.grid()

*

通过折线图查看发展速度

data['lspeed'] = data['l_growth'] / 1000  # 定基增长速度
data['zspeed'] = data['z_growth'] / data.shift(1)['A']  # 环比增长速度
data[['lspeed','zspeed']].plot(figsize = (10,4),style = '--.',alpha = 0.8)
plt.axhline(0,hold=None,color='r',linestyle="--",alpha=0.8)  # 添加y轴参考线
plt.grid()
print(data.head())
print('------')

*

  • python 数据特征分析

1. Python数据特征分析-分布分析
2. Python数据特征分析-对比分析
3. Python数据特征分析-统计分析
4. Python数据特征分析-帕累托分析
5. Python数据特征分析-正态性检验
6. Python数据特征分析-相关性分析

Python数据特征分析-对比分析相关推荐

  1. 数据特征分析-对比分析

    对比分析是对两个互相联系的指标进行比较. 绝对数比较(相减):指标在量级上不能差别过大,常用折线图.柱状图 相对数比较(相除):结构分析.比例分析.空间比较分析.动态对比分析 df = pd.Data ...

  2. 轨迹时空数据存储对比分析

    轨迹时空数据存储对比分析 背景 最近有一批车辆的轨迹数据需要用postgresql管理起来.数据格式相对比较简单,就是一堆csv文件,每行一个点,包括x,y,t和其他的一些速度,方向属性信息. 方案对 ...

  3. Python数据特征分析1-分布分析(极差,频率直方图等)

    数据特征分析分为以下部分: 1.分布分析 2.对比分析 3.统计分析 4.帕累托分析 5.正态性检验 6.相关性分析 数据: 分布分析 分布分析 --> 研究数据的分布特征和分布类型,分定量数据 ...

  4. Python数据特征分析_01(MOOC学习时长分析)

    本篇博客使用到的数据如下:通过分析每个学生的学习时长来分析学生的学习稳定性. (共有115人,每个人记录了11次的学习数据) 文章目录 一.分布分析 1.定量数据分布分析 2.绘制频率图 二.对比分析 ...

  5. python数据分析之对比分析

    对比分析 概念:两个互相联系的指标进行比较 类型:绝对数比较(相减) .相对数比较(相除) 其中相对数比较分析也包括:结构分析.比例分析.动态对比分析 1.绝对数比较 a.对比的指标在量级上不能差别过 ...

  6. 26、python数据表透视分析、交叉分析、实现透视表功能

    交叉分析:通常用于分析两个或两个以上,分组变量之间的变量关系,以及交叉表形式进行变量间关系的对比分析 定量.定量分组交叉 定量.定性分析交叉 定性.定性分组交叉 1  交叉统计函数 pivot_tab ...

  7. 什么是实时数据,有哪些特征及与离线数据的对比分析

    实时数据是工业物联网建设中经常遇到的一种数据类型,一般采用实时数据库来管理与存储,实时数据库是采用实时数据模型建立起来的数据库,用于处理不断更新的.快速变化的数据及具有时间限制的事务处理.实时数据库技 ...

  8. 做数学建模不得不会的数据特征分析---相关性分析

    相关性分析是分析连续变量之间的线性相关程度的强弱,我们可以通过图来初步判断,当然了比较权威的是通过Pearson相关系数(皮尔逊相关系数) / Sperman秩相关系数(斯皮尔曼相关系数)来判断 引入 ...

  9. 数据特征分析-相关性分析

    相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量的相关密切程度. 相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析. 相关系数在[-1,1]之间. 一.图示初判 ...

最新文章

  1. 路由及路由器工作原理深入解析3:路由与port
  2. 今日头条算法原理(全文)【转】
  3. python gridfs_python 将图片存入mongodb,读取图片,gridfs模块
  4. SQL SERVER 如果判断text类型数据不为空
  5. lock和wait+signal
  6. 寻找第k大的元素Java,java – 支持快速第k个最大元素查找的队列数据结构
  7. redis压缩列表ziplist的连锁扩容
  8. Android系统(20)---开发android项目的常用jar包
  9. Mysql 引优化分析
  10. Jenkins+码云 搭建持续集成环境
  11. 每天一道剑指offer-连续子数组的最大和
  12. wps如何使用ppt美化大师_WPS的ppt一键美化软件怎么用
  13. OJ(Online Judge)系统及ACM测试题库大全
  14. 华为手机usb调试打开后自动关闭怎么办?华为手机 usb调试为什么自动关闭?usb调试老是自动关闭怎么回事?...
  15. linux hostid 12位,linux下修改hostid
  16. 百度地图标记点加点击事件和鼠标移入事件并添加数据
  17. vue @click.native和@click.stop和@click.self
  18. springboot微信点餐系统的设计与实现 毕业设计-附源码221541
  19. c语言硬币大小,C语言抛硬币
  20. OpenCascade Primitives BRep-Torus

热门文章

  1. 精细化运营管理需要的4种核心能力
  2. 简易计算器-calculator
  3. highcharts折线图ajax,7-Highcharts曲线图之折线图
  4. 不解压gz文件搜索文件内容
  5. Jsp+javaBean+mysql的网络云盘
  6. 获取url地址的方法
  7. 常用获取url地址的几种方法
  8. gtx1650显卡配置cuda,anaconda,GPU,pytorch运行经验。
  9. 大数据面试常见问题(二)——Linux部分
  10. CNV拷贝数变异分析(GISTIC在线分析、maftools)