在python中对股票进行时间序列的重分类时遇到报错
TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of 'RangeIndex'
但是如果用yahoo的pandas股票获取函数获得的DataFrame不会出现这种报错。
网上许多人用这种方法就能解决,但是我解决不了,无论用什么方法把Date列转换时间序列都不能解决。
stock_df['Date']=pd.to_datetime(stock_df['Date'])
通过查看Excel读取和雅虎获取的两个结果,发现雅虎网上获取的以时间为序列。
[5 rows x 12 columns]
Backend TkAgg is interactive backend. Turning interactive mode on.
[*********************100%***********************] 1 of 1 downloaded
Open High Low Close Adj Close Volume
Date
2021-05-06 9.12 9.20 8.90 9.08 9.08 40262415
2021-05-07 9.22 9.24 8.78 8.90 8.90 58947590
2021-05-10 8.94 9.14 8.88 9.04 9.04 43689496
2021-05-11 9.04 9.14 8.66 9.07 9.07 53424412
2021-05-12 9.00 9.43 8.97 9.16 9.16 43475280
加上代码把Date设为索引后,Bug顺利解决。
stock_df = pd.DataFrame(stock_df).set_index('Date')