我有这样的数据帧:
Date Y X1 X2 X3
22 2004-05-12 9.348158e-09 0.000081 0.000028 0.000036
23 2004-05-13 9.285989e-09 0.000073 0.000081 0.000097
24 2004-05-14 9.732308e-09 0.000085 0.000073 0.000096
25 2004-05-17 2.235977e-08 0.000089 0.000085 0.000099
26 2004-05-18 2.792661e-09 0.000034 0.000089 0.000150
27 2004-05-19 9.745323e-09 0.000048 0.000034 0.000053
......
1000 2004-05-20 1.835462e-09 0.000034 0.000048 0.000099
1001 2004-05-21 3.529089e-09 0.000037 0.000034 0.000043
1002 2004-05-24 3.453047e-09 0.000043 0.000037 0.000059
1003 2004-05-25 2.963131e-09 0.000038 0.000043 0.000059
1004 2004-05-26 1.390032e-09 0.000029 0.000038 0.000054
Run Code Online (Sandbox Code Playgroud)
我想运行一个滚动的100天窗口OLS回归估计,这是:
首先是第101行,我使用第1行到第100行运行Y-X1,X2,X3的回归,并估计第101行的Y;
然后对于第102行,我使用第2行到第101行运行Y-X1,X2,X3的回归,并估计第102行的Y;
然后对于第103行,我使用第2行到第101行运行Y-X1,X2,X3的回归,并估计第103行的Y;
......
直到最后一排.
这该怎么做?
我有两张单独列.csv文件'Date'和' Time'。我这样读取文件:
data1 = pd.read_csv('filename.csv', parse_dates=['Date', 'Time'])
Run Code Online (Sandbox Code Playgroud)
但是似乎只有该' Date'列采用时间格式,而该'Time'列仍为字符串或采用非时间格式。
当我执行以下操作时:
data0 = pd.read_csv('filename.csv')
data0['Date'] = pd.to_datetime(data0['Date'])
data0['Time'] = pd.to_datetime(data0['Time'])
Run Code Online (Sandbox Code Playgroud)
它提供了我想要的数据帧,但是要花费一些时间。那么,读取文件并从字符串格式转换日期和时间的最快方法是什么?
.csv文件是这样的:
Date Time Open High Low Close
0 2004-04-12 8:31 AM 1139.870 1140.860 1139.870 1140.860
1 2005-04-12 10:31 AM 1141.219 1141.960 1141.219 1141.960
2 2006-04-12 12:33 PM 1142.069 1142.290 1142.069 1142.120
3 2007-04-12 3:24 PM 1142.240 1143.140 1142.240 1143.140
4 2008-04-12 5:32 PM 1143.350 1143.589 1143.350 1143.589
Run Code Online (Sandbox Code Playgroud)
谢谢!