Pandas DataFrame-使用OLS/线性回归时,“无法从[datetime64 [ns]]到[float64]的日期时间类型化" [英] Pandas DataFrame - 'cannot astype a datetimelike from [datetime64[ns]] to [float64]' when using ols/linear regression
本文介绍了Pandas DataFrame-使用OLS/线性回归时,“无法从[datetime64 [ns]]到[float64]的日期时间类型化"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个DataFrame如下:
I have a DataFrame as follows:
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
列是问题.我正在尝试使用Close
列获取Date
列的线性回归:
...and so on. The Date
column is the issue. I'm trying to get the linear regression of the Date
column with the Close
column:
ols1 = pd.ols(y=ADBE['Close'], x=ADBE['Date'], intercept=True)
我收到以下错误:
TypeError: cannot astype a datetimelike from [datetime64[ns]] to [float64]
我尝试了多种方法来消除此错误,例如:
I've tried multiple ways of getting rid of this error, for examples:
dates_input = ADBE['Date'].values.astype('datetime64[D]')
dates_input = ADBE['Date'].values.astype('float')
第二次dates_input
尝试返回的类型为pandas.core.series.Series
,但我仍然收到错误消息.
The second dates_input
attempt returns the type as pandas.core.series.Series
but I still get an error message.
有人知道如何使Date
列起作用并摆脱此TypeError吗?
Does anyone know how to get the Date
column to work and get rid of this TypeError?
推荐答案
您需要:
ADBE['Date'] = ADBE['Date'].values.astype(float)
然后:
ols1 = pd.ols(y=ADBE['Close'], x=ADBE['Date'], intercept=True)
这篇关于Pandas DataFrame-使用OLS/线性回归时,“无法从[datetime64 [ns]]到[float64]的日期时间类型化"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文