使用finplot读取CSV绘制K线图出现IndexError索引越界错误如何解决
问题原因
finplot 的 candlestick_ochl 函数要求K线数据必须绑定时间轴,你当前没有将DATE列设置为DataFrame的索引,也没有显式传入时间参数,函数尝试读取第5个维度的时间数据时触发了数组越界报错。
解决方法
读取CSV后先将时间列转换为datetime类型并设置为索引即可,修改后的代码如下:
import finplot as fplt import pandas as pd df = pd.read_csv("2020.csv") # 转换时间列格式并设置为索引 df['DATE'] = pd.to_datetime(df['DATE']) df = df.set_index('DATE') df = df[1000:3000] fplt.candlestick_ochl(df[['OPEN', 'CLOSE', 'HIGH', 'LOW']]) fplt.show()
补充说明
plotly不会出现该报错是因为其蜡烛图接口允许单独传入时间、开高低收字段,不需要强依赖DataFrame的索引结构,和finplot的设计逻辑不同。
内容的提问来源于stack exchange,提问作者Lapoco
相关产品推荐
相关产品推荐

