列表索引超出范围 - Python/Pandas

你好,我正在通过使用熊猫来分析一些股票数据来编写这个 python 代码。我正在使用两个太循环来获得累积利润。但它给了我列表索引超出范围的错误。任何人都可以帮忙吗?df 是我正在使用的数据框,它包含大约 10 列,包括“投资”和“百分比变化”。df['invest'] 列都是二进制数 1 或 0,df['percent change'] 是与前一天相比的股价变化。windows这里的意思是如果我看到windows连续0,比如2个连续0,我就买这只股票,第二天卖出。


这是我的任务。这不是真正的股票分析。所以请不要太认真地对待分析方法。这些只是为了演示数据科学的python


count=0

countseq=0

principal=100

windows=[1,2,3,4,5]

profit_loss=[0,0,0,0,0]

for i in windows:

    for j in range(len(df)-1):

        if df['invest'][j]==0:

            count+=1

            if count==i:

                profit_loss[i]+=principal*df['percent change'][j+1]

                count=0 

                countseq+=1



IndexError                                Traceback (most recent call last)

<ipython-input-119-53972da7243a> in <module>()

     10             count+=1

     11             if count==i:

---> 12                 profit_loss[i]+=principal*df['percent change'][j+1]

     13                 count=0

     14                 countseq+=1


IndexError: list index out of range


绝地无双
浏览 225回答 1
1回答

蝴蝶刀刀

您正在使用 的值windows和 max5来索引到profit_loss,其最大索引为4。请记住,python 是零索引的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python