我有一个如下的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 吗?
Series.astype(float)
(例如:pd.Series(ADBE['Date'].values).astype(float)
);请注意 @jezrael 的回答直接在.values.astype(float)
上使用了ndarray.astype(float)
。 - Nate Anderson