web-dev-qa-db-ja.com

Pandas DataFrame-'ols / linear回帰を使用する場合、' [datetime64 [ns]]から[float64]にdatetimeのようにタイプできません '

次のような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')

2回目のdates_inputの試行では、タイプがpandas.core.series.Seriesとして返されますが、それでもエラーメッセージが表示されます。

Date列を機能させてこのTypeErrorを取り除く方法を誰かが知っていますか?

11
Cole Starbuck

必要なもの:

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

その後:

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