https://blog.csdn.net/littleRpl/article/details/91490704

同比 和 环比 都是为了显示数据的变化速度,但是基数不同,同比侧重长期数据趋势变化,环比侧重于短期内数据趋势变化

同比是指在同一时期内的数据趋势变化,用于本期与同期的对比,例如本期2018-02月销售额与同期2017-02月销售额做对比。【(本期 - 同期)/ 同期】

环比是指在短时间内的数据趋势变化,用去本期与临近一起的对比,例如本期2018-02月销售额与上一期2018-01月销售额做对比。【(本期 - 临近一期)/ 临近一期】

下面是计算环比的例子,其实同比可以参照这种思路。

import pandas as pd
import random
from datetime import datetime
import matplotlib.pyplot as plt
date = list(pd.date_range('1/1/2017', periods=24, freq='M')) #生成日期
sale = [random.randint(1000,9000) for i in range(0,24)] #随机生成销售额
data = pd.DataFrame({'date':date,'sale':sale}) #组成一个dataframe
data.head()
date sale
0 2017-01-31 2444
1 2017-02-28 1044
2 2017-03-31 7069
3 2017-04-30 2996
4 2017-05-31 5050
data['diff'] = data["sale"].diff()
data.head()
date sale diff
0 2017-01-31 2444 NaN
1 2017-02-28 1044 -1400.0
2 2017-03-31 7069 6025.0
3 2017-04-30 2996 -4073.0
4 2017-05-31 5050 2054.0
data["huanbi"]=["NaN"]+[i/j for i,j in zip(list(data['diff'])[1:],list(data['sale'])[:23])]
data.head()
date sale diff huanbi
0 2017-01-31 2444 NaN NaN
1 2017-02-28 1044 -1400.0 -0.572831
2 2017-03-31 7069 6025.0 5.77107
3 2017-04-30 2996 -4073.0 -0.576178
4 2017-05-31 5050 2054.0 0.685581
data1 = data.iloc[1:]   #去掉第一行
data1 = data1.set_index(['date'], drop=True)   #设置索引
#时序图
plt.figure(figsize=(10, 6))
plt.rcParams['font.sans-serif'] = ['SimHei']    #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False      #用来正常显示负号
data1["huanbi"].plot()
plt.xlabel('日期',fontsize=12,verticalalignment='top')
plt.ylabel('环比',fontsize=14,horizontalalignment='center')
plt.show()

使用pandas计算环比、同比相关推荐

  1. python pandas 计算环比、同比 pct_change -- 自定义函数

    加载库 import random import pandas as pd import numpy as np 随机生成数据集(DataFrame格式) DataRanges = pd.date_r ...

  2. Pandas常用累计、同比、环比等统计方法实践案例

    统计表中常常以本年累计.上年同期(累计).当期(例如当月)完成.上月完成为统计数据,并进行同比.环比分析.如下月报统计表所示样例,本文将使用Python Pandas工具进行统计. 其中: (本年)累 ...

  3. EasyExcel第三弹 + hutool-poi 配合使用导出较复杂Excel.xlsx + 计算增长率、同比环比、比重等

    一.回顾 继上次"动态表头easyExcel导入导出(https://blog.csdn.net/qq_37337660/article/details/114680512)", ...

  4. oracle计算数据环比sql,用分析函数计算环比、同比oracle

    1.普及一下概念 环比 = 2018年10月/2018年09月(同一时期内不同时间段的比较) 同比 = 2018年10月/2017年10月(不同时期内相同时间段的比较) 环比增长率 =  (2018年 ...

  5. MySQL 计算环比(同比类似)

    目的: 计算上海市某企业(WATER_METER_ID = 592)在2018.1.1到2018.11.5每个月的用水量,上个月的用水量以及月环比. 1.查看库表 SELECT            ...

  6. python使用pandas计算dataframe中每个分组的分位数极差、分组数据的分位数极差(range)、使用groupby函数和agg函数计算分组的两个分位数

    python使用pandas计算dataframe中每个分组的分位数极差.分组数据的分位数极差(range).使用groupby函数和agg函数计算分组的两个分位数 目录

  7. python使用pandas计算dataframe中每个分组的极差、分组数据的极差(range)、使用groupby函数和agg函数计算分组的最大值和最小值

    python使用pandas计算dataframe中每个分组的极差.分组数据的极差(range).使用groupby函数和agg函数计算分组的最大值和最小值 目录

  8. pandas计算dataframe两列数据值相等的行号、取出DataFrame中两列值相等的行号

    pandas计算dataframe两列数据值相等的行号.取出DataFrame中两列值相等的行号 目录 pandas计算dataframe两列数据值相等的行号.取出DataFrame中两列值相等的行号

  9. pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值、计算多数据列滑动窗口中的最小值

    pandas计算滑动窗口中的最小值实战(Rolling Minimum in a Pandas Column):计算单数据列滑动窗口中的最小值.计算多数据列滑动窗口中的最小值 目录

  10. pandas计算滑动窗口中的最大值实战(Rolling Maximum in a Pandas Column):计算单数据列滑动窗口中的最大值、计算多数据列滑动窗口中的最大值

    pandas计算滑动窗口中的最大值实战(Rolling Maximum in a Pandas Column):计算单数据列滑动窗口中的最大值.计算多数据列滑动窗口中的最大值 目录

最新文章

  1. 纯键盘操作,玩转资源管理器
  2. java异常什么时候抛出异常,java - 什么时候应该抛出IllegalArgumentException?
  3. flink sql client讀取kafka數據的timestamp(DDL方式)
  4. sudo apt-get update 与 sudo apt-get upgrate 的区别
  5. 计算机二级考试试题在线看,【TOP182015年全国计算机二级考试试题题库.doc文档免费在线阅读材料】...
  6. IOS – OpenGL ES 调节图像反色 GPUImageColorInvertFilter
  7. Angular Light 指令用法
  8. Android笔记 隐式意图demo
  9. UITableView 编辑和删除行
  10. 计算机网络的硬盘组成,大卸八块!编辑为你揭秘硬盘的内部结构
  11. json数据格式分析
  12. JavaScript:get和post的区别
  13. c语言程序 题库管理,C语言程序设计题库管理.doc
  14. c语言清华大学谭浩强笔记,(完整)C语言谭浩强学习笔记.doc
  15. 新手坐高铁怎么找车厢_新手坐高铁怎么找车厢
  16. JavaScript基本语法
  17. 重磅!超详细的 JS 数组方法整理出来了
  18. Simulink三相电机仿真(2)
  19. 目标检测Tensorflow:Yolo v3代码详解 (2)
  20. RGCF:Learning to Denoise Unreliable Interactions forGraph Collaborative Filtering论文解读

热门文章

  1. c语言求圆锥的表面积和体积_有关C语言:求圆锥体的体积和表面积,急!!!!!!1...
  2. 首届技术播客月开播在即
  3. vue build打包后提示:Tip: built files are meant to be served over an HTTP server
  4. Navicat 11 Premium中文破解版使用心得
  5. 新闻发布系统类图_信息系统项目管理师快速记忆口诀
  6. 读懂Redis源码,我总结了这7点心得
  7. npm install报错error 404 Not Found - GET httpsregistry.npm.taobao.org@xt
  8. 合宙Air720UH链接阿里云流程
  9. 用Python模拟高尔顿钉板实验
  10. XML解析之 MSXML应用总结 开发篇(上)