python percent更改列表中的连续项

时间:2017-12-12 03:37:39

标签: python pandas

我需要一些帮助从下面的代码中生成的列表中删除NaN。我正在尝试计算标有“价格”的数字列表的几何平均值。我可以得到计算序列号之间的百分比变化,但是当我去获取列表的产品时,有一个NaN抛出了。我尝试了pandas.dropna(),但它没有丢弃任何东西并给了我相同的输出。任何建议,将不胜感激。 感谢。

import pandas as pd
import math
import numpy as np

prices = [2,3,4,3,1,3,7,8]

prices = pd.Series(prices)
prices = prices.iloc[::-1]

retlist = list(prices.pct_change())

retlist.reverse()
print(retlist)

calc = np.array([x + 1 for x in retlist])

print(calc)

def product(P):
    p = 1
    for i in P:
        p = i * p
    return p

print(product(calc))

1 个答案:

答案 0 :(得分:0)

retlist一个包含NaN的列表。

您可以使用以下代码添加一个删除NaN的步骤:

retlist = [i for indx, i in enumerate(retlist) if filter[indx] == True]

在此之后,您可以按照其他步骤进行操作。请注意列表的大小更改