计算两个数字之间的百分比变化(Python)

2024-04-26 07:10:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个价格表,我试图计算每一个数字的百分比变化。我用

    prices = [30.4, 32.5, 31.7, 31.2, 32.7, 34.1, 35.8, 37.8, 36.3, 36.3, 35.6]

    def f():
        for i in range(len(prices)):
            print(prices[i]-prices[i-1])

它返回的差异如下

    2.1
    -0.8
    -0.5
    ...

我知道百分比的变化是((I-(I-1))/(I-1)*100,但我不知道如何将其融入到脚本中。任何帮助都将不胜感激。


Tags: in脚本forlendefrange数字差异
2条回答

如果你还没有接触到Python中的pandas库(http://pandas.pydata.org/),你肯定应该去看看。

这样做很容易:

import pandas as pd
prices = [30.4, 32.5, 31.7, 31.2, 32.7, 34.1, 35.8, 37.8, 36.3, 36.3, 35.6]

price_series = pd.Series(prices)
price_series.pct_change()

试试这个:

prices = [30.4, 32.5, 31.7, 31.2, 32.7, 34.1, 35.8, 37.8, 36.3, 36.3, 35.6]

for a, b in zip(prices[::1], prices[1::1]):
    print 100 * (b - a) / a

编辑:如果希望将其作为列表,可以执行以下操作:

print [100 * (b - a) / a for a, b in zip(prices[::1], prices[1::1])]

相关问题 更多 >