Python 熊猫数据帧&x27;无法键入从[datetime64[ns]]到[float64]';使用ols/线性回归时

Python 熊猫数据帧&x27;无法键入从[datetime64[ns]]到[float64]';使用ols/线性回归时,python,pandas,dataframe,time-series,linear-regression,Python,Pandas,Dataframe,Time Series,Linear Regression,我有一个数据框,如下所示: 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列与Clos

我有一个数据框,如下所示:

   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\u输入
尝试返回类型为
pandas.core.series.series
,但我仍然收到一条错误消息

是否有人知道如何让
Date
列正常工作并消除此类型错误?

您需要:

ADBE['Date'] = ADBE['Date'].values.astype(float)
然后:

ols1 = pd.ols(y=ADBE['Close'], x=ADBE['Date'], intercept=True)

我犯了一个错误;对于可能犯同样错误的其他人;注意不要使用
Series.astype(float)
(如;
pd.Series(ADBE['Date'].values)。astype(float)
;注意@jezrael的答案使用
ndarray.astype(float)
(直接在
.values.astype(float)