前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >教你利用 Python 计算同比、环比、定基比

教你利用 Python 计算同比、环比、定基比

作者头像
张俊红
发布2023-03-21 08:56:19
发布2023-03-21 08:56:19
1.5K00
代码可运行
举报
文章被收录于专栏:张俊红张俊红
运行总次数:0
代码可运行

1. 问题描述

日常处理销售相关的数据时,经常会遇到需要计算 同比、环比、定基比 的问题,计算方法是 「(当期 / 比较期 -1) * 100%」,在 Excel 中使用公式引用进行计算非常方便,其实使用 python 来做相应的计算也是非常简单的,本文就使用 python 来进行操作,计算出想要的结果。

先读取数据集,是 2019 年 1 月至 2021 年 3 月的销售数据。

代码语言:javascript
代码运行次数:0
运行
复制
import pandas as pd
import numpy as np
import time
import datetime

df_raw = pd.read_excel('./data.xlsx',sheet_name='Sheet1')
df_raw['日期'] = pd.to_datetime(df_raw['日期'])
df_raw = df_raw.set_index('日期')
df_raw

2. 解决方法

2.1 计算同比和环比

使用 pct_change() 函数,直接可以计算百分比对比(同比、环比)
代码语言:javascript
代码运行次数:0
运行
复制
df_raw['环比'] = df_raw['销售额'].pct_change(periods=1)
df_raw['同比'] = df_raw['销售额'].pct_change(periods=12)
df_raw['环比'] = df_raw['环比'].apply(lambda x:str(round(x * 100,2)) + '%').str.replace('nan%','')
df_raw['同比'] = df_raw['同比'].apply(lambda x:str(round(x * 100,2)) + '%').str.replace('nan%','')
df_raw

2.2 定基比

计算定基比(以 '2020-10-01' 为基准)
代码语言:javascript
代码运行次数:0
运行
复制
fixed_str = '2020-10-01'
# fixed_row = datetime.datetime.strptime(fixed_str, '%Y-%m-%d').date()
fixed_num = df_raw.loc[fixed_str,'销售额']
df_raw['定基比'] = df_raw['销售额'] / fixed_num - 1
df_raw['定基比'] = df_raw['定基比'].apply(lambda x:str(round(x * 100,2)) + '%').str.replace('nan%','')
df_raw

3. 总结

  • 使用 pandas 库 中的 pct_change() 函数 配合 periods 参数 可以方便地计算同比和环比。
  • 使用 apply 自定义函数计算出定基比。

4. 资料下载

我已将以上配套数据文件和代码文件打包上传至我的 Github 和 Gitee,感兴趣的读者可以下载学习和练手。

  • 「Github 项目地址」

「https://github.com/don2vito/wechat_project/tree/master/同比、环比、定基比」

  • 「Gitee 项目地址」

「https://gitee.com/don2vito/wechat_official_account/blob/master/023_《和时间做朋友》系列 /03. 同比、环比、定基比.ipynb」

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 俊红的数据分析之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 问题描述
    • 2. 解决方法
    • 2.1 计算同比和环比
      • 使用 pct_change() 函数,直接可以计算百分比对比(同比、环比)
    • 2.2 定基比
      • 计算定基比(以 '2020-10-01' 为基准)
  • 3. 总结
  • 4. 资料下载
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档