Pandas DataFrame-使用OLS/线性回归时,“无法从[datetime64 [ns]]到[float64]的日期时间类型化" [英] Pandas DataFrame - 'cannot astype a datetimelike from [datetime64[ns]] to [float64]' when using ols/linear regression

查看:577
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆