我正在创建一个数据分析模型,我想知道2019年某个月与2018年同一个月的变化是什么。你知道吗
例如:
2019年6月:358.269
2018年6月:423.149
我想知道在这种情况下,下面两个公式中哪一个是正确的,以便我获得百分比变化:
公式1:
(358.269 / 423.149 - 1 ) * 100 = -15.33%
公式2:
((358.269 - 423.149) / 358.269) * 100 = -18.10%
我用熊猫做分析
df['variation'] = ((df['2019'] / df['2018'] - 1) * 100 ).round(2)
df['variation'] = ((df['2019'] - df['2018']) / df['2019']) * 100).round(2)
我想知道这两个公式中哪一个是正确的,或者如果有另一个公式,我想知道在我的代码中要更正什么。你知道吗
正如你的问题所暗示的,两个数字之间的百分比变化取决于你从哪个数字开始作为基线。这通常是通过上下文来表达的。你知道吗
类似于“上个月股票上涨了18%”的意思是,18%的起始金额加在了:
(end - start) / start = 0.18
。你知道吗另一方面,像“这部手机去年贵了30%”这样的说法正好相反:
(start - end) / end = 0.3
。你知道吗对于您的特殊情况,请决定哪个月提供参考。”2019年的某个月与2018年的同一个月相比“听起来好像你想知道2019年的价值相对于2018年的价值有多大/少,所以你会使用
(value_2019 - value_2018) / value_2018
。你知道吗将2019年的价值放在分母中可以告诉你,2018年与2019年的关系要少得多。一般来说,我们将基线设置为按时间顺序排列的第一个基准,因此您很少看到这种相反的表述。你知道吗
任何一个公式都可以重写以去掉分母:
value_2019 / value_2018 - 1
或1 - value_2018 / value_2019
。你知道吗TL;DR
使用
(value_2019 - value_2018) / value_2018
或等效的value_2019 / value_2018 - 1
。你知道吗年复一年的变化或变化正如你所说有这两个公式
我喜欢第一个
第二种解决方案
相关问题 更多 >
编程相关推荐