为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

绝地无双 2021-06-17 22:53:41
你好,我正在通过使用熊猫来分析一些股票数据来编写这个 python 代码。我正在使用两个太循环来获得累积利润。但它给了我列表索引超出范围的错误。任何人都可以帮忙吗?df 是我正在使用的数据框,它包含大约 10 列,包括“投资”和“百分比变化”。df['invest'] 列都是二进制数 1 或 0,df['percent change'] 是与前一天相比的股价变化。windows这里的意思是如果我看到windows连续0,比如2个连续0,我就买这只股票,第二天卖出。这是我的任务。这不是真正的股票分析。所以请不要太认真地对待分析方法。这些只是为了演示数据科学的pythoncount=0countseq=0principal=100windows=[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+=1IndexError                                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+=1IndexError: list index out of range
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

您正在使用 的值windows和 max5来索引到profit_loss,其最大索引为4。请记住,python 是零索引的


查看完整回答
反对 回复 2021-06-29
  • 1 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号