TypeError: Only valid with DatetimeIndex, TimedeltaIndex or PeriodIndex, but got an instance of ‘Ran

在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')

 

你可能感兴趣的:(数据处理笔记)