首页 > 解决方案 > 如何获得熊猫 pct_change 的百分比结果?

问题描述

我正在使用 pandas 的示例来做我想做的事情:

>>> s = pd.Series([90, 91, 85])
>>> s
0    90
1    91
2    85
dtype: int64

然后pct_change()应用于这个系列:

>>> s.pct_change()
0         NaN
1    0.011111
2   -0.065934
dtype: float64

好吧,很公平,但是Percentage Increase = [ (Final Value - Starting Value) / |Starting Value| ] × 100

所以结果实际上应该是[NaN, 1.11111%, -6.59341%]。我将如何获得这*100部分pct_change()没有为我运行的部分?

标签: pythonpandasseries

解决方案


你可以简单地将结果乘以100得到你想要的:

In [712]: s.pct_change().mul(100)
Out[712]: 
0         NaN
1    1.111111
2   -6.593407
dtype: float64

如果您希望结果是list 这些值中的一个,请执行以下操作:

In [714]: l = s.pct_change().mul(100).tolist()

In [715]: l
Out[715]: [nan, 1.1111111111111072, -6.593406593406592]

推荐阅读