Python Pandas数据框 - 切掉除最后30行之外的所有行并获取日期时间错误

时间:2017-01-20 21:38:10

标签: python pandas dataframe slice

我有一个csv如下:

Excel Data

然后我将其转换为数据框:

f4 = open('C:\Users\cost9\OneDrive\Documents\PYTHON\TEST-ASSURANCE FILES\ADBE1.CSV')    
ADBE = pd.read_csv(f4)

我想切掉新数据框'ADBE_Last_30_Periods'的最后30行:

ADBE_Last_30_Periods = ADBE[-30:]

如上面的CSV文件所示,“日期/时间”列(电子表格中的B列)需要转换为日期:

ADBE_Last_30_Periods.rename(columns={'Date/Time': 'Date'}, inplace=True)

ADBE_Last_30_Periods['Date'] = ADBE_Last_30_Periods['Date'].reset_index()

ADBE_Last_30_Periods.Date.values.astype('M8[D]')

最后目的是对最后30个时期进行线性回归(我将其切成上面分开):

x = ADBE_Last_30_Periods['Date']
y = ADBE_Last_30_Periods['Close']
x = sm.add_constant(x)

ols3 = pd.ols(y = ADBE_Last_30_Periods['Close'], x = ADBE_Last_30_Periods['Date'])

然后我运行脚本并收到以下错误:

ValueError: Could not convert object to NumPy datetime 

请注意,值错误是指上面显示的'ADBE_Last_30_Periods.Date.values.astype('M8 [D]')'。

请注意,当我刚运行原始文件('ADBE')时,我不会收到此错误。脚本运行正常,输出看起来不错。由于某种原因,切片到最后30个周期导致日期转换搞砸了。有人可以帮忙吗?

0 个答案:

没有答案