使用pandas计算环比、同比
https://blog.csdn.net/littleRpl/article/details/91490704同比 和 环比 都是为了显示数据的变化速度,但是基数不同,同比侧重长期数据趋势变化,环比侧重于短期内数据趋势变化同比是指在同一时期内的数据趋势变化,用于本期与同期的对比,例如本期2018-02月销售额与同期2017-02月销售额做对比。【(本期 - 同期)/ 同期】环比是指在短时间...
·
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()

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)