同比、环比一直在很多场合中广泛地被使用到,今天是基于一个小数据集来计算一下销售额的同比增长率,对于同比和环比的了解之前主要是来源于业务方面的需求,这里为了更加准确定义同比,贴上百度百科的定义如下:
比如说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-1 else: return 0 def 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]=0 workbook=xlrd.open_workbook(datapath,'rb') sheet_one=workbook.sheets()[0] row_num,col_num=sheet_one.nrows,sheet_one.ncols name_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]=money print data_dict dict1,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_dict if __name__ == '__main__': handleData(datapath='data.xlsx')
结果如下:
{2016: {1: 0, 2: 0, 3: .0, 4: .0, 5: .0, 6: .0, 7: .0, 8: 19781.0, 9: .0, 10: .0, 11: .0, 12: .0}, 2017: {1: .0, 2: .0, 3: .0, 4: .0, 5: .0, 6: .0, 7: .0, 8: .0, 9: .0, 10: .0, 11: .0, 12: .0}, 2018: {1: .0, 2: .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.55, '2016_2017_9': -0.09797, '2016_2017_6': -0.92516, '2016_2017_7': -0.02915, '2016_2017_4': -0.57572, '2016_2017_5': -0.67824, '2016_2017_2': 0, '2016_2017_3': -0.6523, '2016_2017_1': 0, '2016_2017_10': 6.7589, '2016_2017_11': -0.90701, '2016_2017_12': 19.184, '2017_2018_10': 0, '2017_2018_11': 0, '2017_2018_12': 0, '2017_2018_2': 2.0839, '2017_2018_3': 0, '2017_2018_1': 18.0996, '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计算公司销售额的同比增长率分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/87191.html