同比、环比一直在很多场合中广泛地被使用到,今天是基于一个小数据集来计算一下销售额的同比增长率,对于同比和环比的了解之前主要是来源于业务方面的需求,这里为了更加准确定义同比,贴上百度百科的定义如下:

比如说2017年8月的产值100万,2018年8月的产值300万,同比增长为:(300-100)÷100*100%=200%
同比增长率一般是指和上一年同期相比较的增长率。
某个指标的同比增长率=(现年的某个指标的值-上年同期这个指标的值)/上年同期这个指标的值。
某个指标的同期比=(本年的某个指标的值-去年同期这个指标的值)/去年同期这个指标的值

数据集如下:

数据集中的数据记录数量很少,一共50条记录左右,具体同比计算实践如下:

#!usr/bin/env python
#encoding:utf-8
from __future__ import division'''
__Author__:沂水寒城
功能:计算企业销售额的同比增长率
'''import sys
import xlrd
reload(sys)
sys.setdefaultencoding("utf-8")def dataPairCal(one,two):'''单对同期数据计算'''if one and two:return two/one-1else:return 0def handleData(datapath='data.xlsx'):'''从Excel中抽取出来数据,并计算同比'''data_dict,res_dict={},{}for year in [2016,2017,2018]:data_dict[year]={}for one in range(1,13):data_dict[year][one]=0workbook=xlrd.open_workbook(datapath,'rb')sheet_one=workbook.sheets()[0]row_num,col_num=sheet_one.nrows,sheet_one.ncolsname_list=[]for i in range(4,row_num):company,money=sheet_one.cell_value(i,0),sheet_one.cell_value(i,1)month,year=sheet_one.cell_value(i,2),sheet_one.cell_value(i,3)data_dict[year][month]=moneyprint data_dictdict1,dict2,dict3=data_dict[2016],data_dict[2017],data_dict[2018]for i in range(1,13):one_tmp_key='2016_2017_'+str(i)res_dict[one_tmp_key]=dataPairCal(dict1[i],dict2[i])for i in range(1,13):one_tmp_key='2017_2018_'+str(i)res_dict[one_tmp_key]=dataPairCal(dict2[i],dict3[i])print res_dictif __name__ == '__main__':handleData(datapath='data.xlsx')

结果如下:

{2016: {1: 0, 2: 0, 3: 2932137.0, 4: 5601712.0, 5: 4555366.0, 6: 7754956.0, 7: 3190944.0, 8: 19781.0, 9: 10909596.0, 10: 1697156.0, 11: 16921888.0, 12: 673851.0}, 2017: {1: 690055.0, 2: 584111.0, 3: 947528.0, 4: 579917.0, 5: 539401.0, 6: 459675.0, 7: 485340.0, 8: 9544196.0, 9: 6345747.0, 10: 12599740.0, 11: 4262813.0, 12: 14145928.0}, 2018: {1: 13135177.0, 2: 1773997.0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0}}{'2016_2017_8': 481.4930994388555, '2016_2017_9': -0.4183334561609797, '2016_2017_6': -0.9407250021792516, '2016_2017_7': -0.8479008092902915, '2016_2017_4': -0.8964750419157572, '2016_2017_5': -0.8815899754267824, '2016_2017_2': 0, '2016_2017_3': -0.676847296016523, '2016_2017_1': 0, '2016_2017_10': 6.424031733087589, '2016_2017_11': -0.7480888066390701, '2016_2017_12': 19.99266455047184, '2017_2018_10': 0, '2017_2018_11': 0, '2017_2018_12': 0, '2017_2018_2': 2.037088840990839, '2017_2018_3': 0, '2017_2018_1': 18.034971125489996, '2017_2018_6': 0, '2017_2018_7': 0, '2017_2018_4': 0, '2017_2018_5': 0, '2017_2018_8': 0, '2017_2018_9': 0}

结果中2016_2017_8表示的是2017年和2016年8月销售额的同比分析计算结果,很简单的小功能,主要是熟悉一下同比的概念。

python计算公司销售额的同比增长率相关推荐

  1. python 工资管理软件_使用Python计算公司所有员工的薪资报表,核算

    前言 本篇内容,让你完全掌握Python是如何自动化办公的~ 使用Python 读取Excel 中单元格的数据,自动核算每位员工的业绩提成.个税和实发工资. 一.环境准备 1.1  Python 3. ...

  2. python获取财务数据_「净利润增长率」使用python获取股票“净利润同比增长率”等“上市公司成长能力”数据 - seo实验室...

    净利润增长率 证券宝www.baostock.com是一个免费.开源的证券数据平台. 提供大量准确.完整的证券历史行情数据.上市公司财务数据.实时证券行情推送服务等. 通过Python API获取证券 ...

  3. 使用python获取股票“净利润同比增长率”等“上市公司成长能力”数据

    证券宝www.baostock.com是一个免费.开源的证券数据平台. 提供大量准确.完整的证券历史行情数据.上市公司财务数据.实时证券行情推送服务等.         通过python API获取证 ...

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

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

  5. 强行终止python_中国的真实离婚率:一点也不高,反而低的惊人 | 用python计算离婚率...

    3600字. 现在的网络上,似乎普遍有一种共识,那就是中国的离婚率高的吓人. 各种耸人听闻的标题,比如什么"北上广深等一线城市离婚率高达40%"."天津的离婚率高达70% ...

  6. python计算计算时间_用Python向孩子介绍计算思维

    python计算计算时间 底特律公共图书馆的帕克曼分馆在暑假期间被无聊的孩子拿走了所有计算机所淹没,图书馆认为这不是问题,而是机会. 他们成立了一个编码俱乐部, 帕克曼编码器 ( Parkman Co ...

  7. 北理工嵩天Python语言程序设计笔记(10 Python计算生态概览)

    前言 本文是对<北理工 嵩天/黄天宇/礼欣 Python语言程序设计>的学习笔记,供自己查阅使用. 文章目录 北理工嵩天Python语言程序设计笔记(目录) 北理工嵩天Python语言程序 ...

  8. MOOC《Python语言程序设计》(第15次)Python计算生态概览(第九周)

    MOOC<Python语言程序设计>(第15次) Python计算生态概览(第九周)21.8.26 文章目录 MOOC<Python语言程序设计>(第15次) Python计算 ...

  9. 异动分析(四)利用Python计算指标贡献度

    异动分析(四)利用Python计算指标贡献度 小P:有些异动的原因是多方面的,我看网上说可以通过计算贡献度进行量化. 小H:是的,容我想想- 虽然不是必要的,但有时候异动的原因多个,通过计算每个原因的 ...

  10. Python语法基础(U.9)-Python计算生态概览

    为mooc网站的北京理工大学的 嵩天 .黄天羽 .礼欣 三位老师的课程笔记. 欢迎starGITHUB可下载源码 9. Python计算生态概览 从数据处理到人工智能:实例15:霍兰德人格分析雷达图: ...

最新文章

  1. Uva 11997 多路归并
  2. 智源新闻 | 麻省理工学院教授Max Tegmark报告交流会在北京举行
  3. UNIX下的环境变量--转载
  4. 【小白学PyTorch】3.浅谈Dataset和Dataloader
  5. 2015国内征信机构大数据整合能力对比
  6. Docker 下载 JDK 镜像(docker search 、docker pull)
  7. 澳门大学健康科学学院生物信息核心实验中心高薪诚聘研究助理
  8. zabbix agent类型的所有key 值
  9. 数据分析好学吗_数据分析篇 | 一个虎扑社区数据分析实战
  10. 嵌入式系统开发笔记100:使用FlyMcu下载程序到STM32单片机
  11. 红帽linux oracle,Oracle Linux与红帽Linux对比
  12. MT2601智能穿戴芯片处理器参数介绍
  13. Markdown中的二级标题去掉默认的下划线
  14. VSCode中使用CodeRunner运行Python乱码
  15. 在64位win7上面卸载IE8
  16. 微信 android应用签名生成工具,GitHub - feinoah/WeChatSignature: 改进版本的微信应用签名生成工具,再也不用输入包名了!...
  17. DedeCms织梦分站站群源码下载地址和模板修改使用教程
  18. 腾讯云直播、生成腾讯推拉流
  19. 微信支付-当前页面的URL未注册
  20. Web应用技术(第十周和第十一周/3h)

热门文章

  1. [ERROR] [FATAL] InnoDB: Over 95 percent of the buffer pool is occupied by lock heaps or the adaptive
  2. error C2440: “类型转换”: 无法从“LPVOID”转换为“double
  3. Unity3D研究院之Inspector面板枚举的别名与排序(八十九)
  4. 怎么用java打开pkg文件怎么打开,pkg文件怎么打开 【处置方式】
  5. html页面最大化最小化设置,网页窗口最大化快捷键 改变窗口大小的快捷键是什么...
  6. 监视Python程式自动退出,并重新启动程式
  7. 计算机2.0培训心得,信息技术应用能力提升培训心得体会两篇
  8. vue+springboot传数据到数据库一直报错500解决方案
  9. 关于一个微信公众号:原子与分子模拟
  10. 2021-07-02