pandas如何计算同比环比增长

目录
  • 计算同比环比增长
    • 问题描述
    • 数据准备
    • 计算环比增长
    • 计算同比增长
  • 同比和环比计算公式

计算同比环比增长

问题描述

我有2017.1-2018.12的销售数据,计算每一个月的 同比和环比增长,没有的话 用null代替

注释:

  • 同比 和 环比 都是为了显示数据的变化速度,但是基数不同,同比侧重长期数据趋势变化,环比侧重于短期内数据趋势变化
  • 同比是指在同一时期内的数据趋势变化,用于本期与同期的对比,例如本期2018-02月销售额与同期2017-02月销售额做对比。【(本期 - 同期)/ 同期】
  • 环比是指在短时间内的数据趋势变化,用去本期与临近一起的对比,例如本期2018-02月销售额与上一期2018-01月销售额做对比。【(本期 - 临近一期)/ 临近一期】

数据准备

import pandas as pd
import random
rng = list(pd.date_range('1/1/2017', periods=24, freq='M')) #生成日期
mony = [random.randint(1000,9000) for i in range(0,24)] #随机生成销售额
data = pd.DataFrame({'rng':rng,'mony':mony}) #组成一个dataframe

计算环比增长

方法一:

for i in range(0,len(data)):
    if i == 0:
        data['huanbi'][i] = 'null'
    else:
        data['huanbi'][i] = format((data['mony'][i] - data['mony'][i-1])/data['mony'][i-1],'.2%')
        #format(res,'.2%') 小数格式化为百分数

方法二:

使用diff(periods=1, axis=0)) 一阶差分函数

  • periods:移动的幅度 默认值为1
  • axis:移动的方向,{0 or ‘index’, 1 or ‘columns’},如果为0或者’index’,则上下移动,如果为1或者’columns’,则左右移动。默认列向移动
data['huanbi_1'] = data.mony.diff()

方法三:

使用pct_change()

data['huanbi_1'] = data.mony.pct_change()
data.fillna(0,inplace=True)

计算同比增长

使用一阶差分函数diff()

data['tongbi_shu'] = data.mony.diff(12)
data.fillna(0,inplace=True)
data['tongbi'] = data['tongbi_shu']/(data['mony'] - data['tongbi_shu'])
``

同比和环比计算公式

  • 同比增长率=(本期数-同期数)÷同期数×100%
  • 环比增长率=(本期数-上期数)/上期数×100%。

简单地说,就是同比、环比与定基比,都可以用百分数或倍数表示。

定基比发展速度,也简称总速度,一般是指报告期水平与某一固定时期水平之比,表明这种现象在较长时期内总的发展速度。

  • 同比发展速度,一般指是指本期发展水平与上年同期发展水平对比,而达到的相对发展速度。
  • 环比发展速度,一般是指报告期水平与前一时期水平之比,表明现象逐期的发展速度。同比和环比,这两者所反映的虽然都是变化速度,但由于采用基期的不同,其反映的内涵是完全不同的;

一般来说,环比可以与环比相比较,而不能拿同比与环比相比较;而对于同一个地方,考虑时间纵向上发展趋势的反映,则往往要把同比与环比放在一起进行对照。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 使用pandas计算环比和同比的方法实例

    目录 前言 1.数据准备 2.环比计算 3.同比计算 4.关于pct_change()函数 5.后记 前言 在进行业务数据分析时,往往需要使用pandas计算环比.同比及增长率等指标,为了能够更加方便的进行的统计数据,整理方法如下. 1.数据准备 为方便进行演示,此处提前生成需要进行统计的数据,数据已经是按照时间维度进行排序. months = pd.date_range(start='2010-01-01', end='2020-12-31', freq='M') test_df = pd.D

  • python学习教程之Numpy和Pandas的使用

    前言 本文主要给大家介绍了关于python中Numpy和Pandas使用的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 它们是什么? NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.Pandas提供了大量能使我们快速便捷地处理数据

  • Pandas常用累计、同比、环比等统计方法实践过程

    目录 1.(本年)累计 2.(上年)同期累计 3. 上月(完成) 4. 同比(增长率) 5. 环比(增长率) 6. 总结 统计表中常常以本年累计.上年同期(累计).当期(例如当月)完成.上月完成为统计数据,并进行同比.环比分析. 如下月报统计表所示样例,本文将使用Python Pandas工具进行统计. 其中: (本年)累计:是指本年1月到截止月份的合计数 (上年)同期(累计):是指去年1月到与本年累计所对应截止月份的合计数 同比(增长率)=(本期数-同期数)/同期数*100% 环比(增长率)=

  • pandas如何计算同比环比增长

    目录 计算同比环比增长 问题描述 数据准备 计算环比增长 计算同比增长 同比和环比计算公式 计算同比环比增长 问题描述 我有2017.1-2018.12的销售数据,计算每一个月的 同比和环比增长,没有的话 用null代替 注释: 同比 和 环比 都是为了显示数据的变化速度,但是基数不同,同比侧重长期数据趋势变化,环比侧重于短期内数据趋势变化 同比是指在同一时期内的数据趋势变化,用于本期与同期的对比,例如本期2018-02月销售额与同期2017-02月销售额做对比.[(本期 - 同期)/ 同期]

  • MySQL中如何计算同比和环比

    目录 前言 我们先来看看什么是同比,什么是环比: 那同比增长率和环比增长率又如何计算呢: 同比和环比的区别 在MySQL中如何计算同比和环比 数据准备 计算同比和环比 sql解析 总结 前言 今天在做数据建模的时候,ads层的需求中有个叫同比和环比的指标,这两指标的计算之前都没有接触过,经过我两三个小时的研究,终于搞明白什么是同比,什么是环比,如何使用Mysql来计算同比和环比. 我们先来看看什么是同比,什么是环比: 同比:通常是指今年第n月与去年第n月相比.同比发展速度主要是为了消除季节变动的

  • Pandas如何将表格的前几行生成html实战案例

    目录 一.Pandas如何将表格的前几行生成html 1.1主要知识点 1.2创建 python 文件 1.3运行结果 二.Pandas如何计算一列数字的中位数 2.1主要知识点 2.2创建 python 文件 2.3运行结果 三.Pandas如何获取某个数据列最大和最小的5个数 3.1主要知识点 3.2创建 python 文件 3.3运行结果 四.Pandas如何查看客户是否流失字段的数据映射 4.1主要知识点 4.2创建 python 文件 4.3运行结果 一.Pandas如何将表格的前几行

  • python安装numpy和pandas的方法步骤

    最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须是2.7以上. linux首先安装依赖包 yum -y install blas blas-devel lapack-devel lapack yum -y install seaborn scipy yum -y install freetype freetype-devel libpng lib

  • pandas初学者容易犯的六个错误总结

    目录 使用pandas自带的函数读取大文件 没有矢量化 数据类型,dtypes! 不设置样式 使用 CSV格式保存文件 不看文档! 总结 我们在这里讨论6个新手容易犯的错误,这些错误与你所使用工具的API或语法无关,而是与你的知识和经验水平直接相关.在实际中如果出现了这些问题可能不会有任何的错误提示,但是在应用中却会给我们带来很大的麻烦. 使用pandas自带的函数读取大文件 第一个错误与实际使用Pandas完成某些任务有关.具体来说我们在实际处理表格的数据集都非常庞大.使用pandas的rea

  • 使用python计算方差方式——pandas.series.std()

    目录 如何计算方差 Python计算方差.标准差 方差.标准差 1.方差 2.标准差 如何计算方差 简单展示一下pandas里怎么计算方差: 官方文档: def def_std(df):   for ix,row in df.iterrows():     std = row.std()     df.loc[ix,"std"] = std   return df Python计算方差.标准差 方差.标准差 1.离散程度的测度值之一 2.最常用的测度值 3.反应了数据的分布 4.反应了

  • python中pandas.DataFrame排除特定行方法示例

    前言 大家在使用Python进行数据分析时,经常要使用到的一个数据结构就是pandas的DataFrame,关于python中pandas.DataFrame的基本操作,大家可以查看这篇文章. pandas.DataFrame排除特定行 如果我们想要像Excel的筛选那样,只要其中的一行或某几行,可以使用isin()方法,将需要的行的值以列表方式传入,还可以传入字典,指定列进行筛选. 但是如果我们只想要所有内容中不包含特定行的内容,却并没有一个isnotin()方法.我今天的工作就遇到了这样的需

  • python中pandas.DataFrame对行与列求和及添加新行与列示例

    本文介绍的是python中pandas.DataFrame对行与列求和及添加新行与列的相关资料,下面话不多说,来看看详细的介绍吧. 方法如下: 导入模块: from pandas import DataFrame import pandas as pd import numpy as np 生成DataFrame数据 df = DataFrame(np.random.randn(4, 5), columns=['A', 'B', 'C', 'D', 'E']) DataFrame数据预览: A

随机推荐