Question

I have a pandas dataframe object that is indexed by a timestamp. I am trying to fit an AR model from statsmodels with the following code

df = pd.read_csv('xxx')
model=tsa.ar_model.AR(df['price'])

However I am getting the error

ValueError: dates must be of type datetime

But as far as I know the dates are of the correct format. It might also help if I show the result of printing df['price'] which is

 timestamp
1976-01-01 12:00:00     96541
1976-02-01 12:00:00     90103
1976-03-01 12:00:00     96541
1976-04-01 12:00:00    108112
1976-05-01 12:00:00    115855
1976-06-01 12:00:00    119712
1976-07-01 12:00:00    115855
1976-08-01 12:00:00    114550
1976-09-01 12:00:00    118407
1976-10-01 12:00:00    128702
1976-11-01 12:00:00    115855
1976-12-01 12:00:00    102979
1977-01-01 12:00:00    111969
1977-02-01 12:00:00    106836
1977-03-01 12:00:00    115594
...
2012-05-01 12:00:00    257375
2012-06-01 12:00:00    250850
2012-07-01 12:00:00    246500
2012-08-01 12:00:00    242150
2012-09-01 12:00:00    237452
2012-10-01 12:00:00    230724
2012-11-01 12:00:00    218950
2012-12-01 12:00:00    210250
2013-01-01 12:00:00    210250
2013-02-01 12:00:00    203000
2013-03-01 12:00:00    218950
2013-04-01 12:00:00    232000
2013-05-01 12:00:00    232000
2013-06-01 12:00:00    226548
2013-07-01 12:00:00    226548
Was it helpful?

Solution

As is stated by df.index.dtype, despite you regard your timestamp as a datetime, it is an object. You can easely convert it to datetime with

df.index = pd.to_datetime(df.index)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top