我有一个DataFrame如下:
Ticker Date Close
0 ADBE 2016-02-16 78.88
1 ADBE 2016-02-17 81.85
2 ADBE 2016-02-18 80.53
3 ADBE 2016-02-19 80.87
4 ADBE 2016-02-22 83.80
5 ADBE 2016-02-23 83.07
......等等。 Date
列就是问题所在。我正在尝试将Date
列与Close
列进行线性回归:
ols1 = pd.ols(y=ADBE['Close'], x=ADBE['Date'], intercept=True)
我收到以下错误:
TypeError: cannot astype a datetimelike from [datetime64[ns]] to [float64]
我尝试了多种方法来消除此错误,例如:
dates_input = ADBE['Date'].values.astype('datetime64[D]')
dates_input = ADBE['Date'].values.astype('float')
第二次dates_input
尝试将类型返回为pandas.core.series.Series
,但我仍然收到错误消息。
有谁知道如何让Date
列工作并摆脱这种TypeError?
答案 0 :(得分:3)
您需要:
ADBE['Date'] = ADBE['Date'].values.astype(float)
然后:
ols1 = pd.ols(y=ADBE['Close'], x=ADBE['Date'], intercept=True)