仅基于工作日(上午8点到晚上10点)和工作日使用Python查询数据
我的问题是一个非常开放的问题,我正在寻找一些关于如何使用以下格式操作数组的建议:仅基于工作日(上午8点到晚上10点)和工作日使用Python查询数据,python,arrays,datetime,numpy,pandas,Python,Arrays,Datetime,Numpy,Pandas,我的问题是一个非常开放的问题,我正在寻找一些关于如何使用以下格式操作数组的建议: list: [datetime.datetime(2016, 5, 17, 11, 32, 25), datetime.datetime(2016, 5, 17, 11, 33, 25), datetime.datetime(2016, 5, 17, 11, 34, 25), ... 我希望操纵数组,以便只考虑(1)个工作日,然后(2)只考虑上午8点到晚上10点之间的时间。我是用numpy还是熊猫能做到这一点?是
list:
[datetime.datetime(2016, 5, 17, 11, 32, 25),
datetime.datetime(2016, 5, 17, 11, 33, 25),
datetime.datetime(2016, 5, 17, 11, 34, 25), ...
我希望操纵数组,以便只考虑(1)个工作日,然后(2)只考虑上午8点到晚上10点之间的时间。我是用numpy还是熊猫能做到这一点?是否可以使用列表的格式,即datetime.datetime,或者将其转换为其他格式
我试着把纪元分开,这样日期和时间就分开了。执行此操作时,请执行以下命令:
myArray.ix[pd.to_datetime(myArray['Epoch']).isin(pd.bdate_range(start='2016-05-16', end='2016-06-15')
历元格式是日期和时间,所以我将其拆分,使myArray由现在的“日期”、“历元”、“值”作为三个独立的列组成。为了更好地理解这个命令(到目前为止还不起作用)以及如何使用它,我使用了以下调试行:
t = pd.bdate_range(start='2016-05-16', end='2016-06-15')
u = myArray['Date']
v = u.isin(t)
问题是从我所看到的,格式为yyyy-mm-yy的myArray['Date']中的日期与格式为yyyy-mm-dd的日期不匹配。仅可用于选择工作日(1):
和选择时间之间的。。。(2) :
保留原始索引:
In [99]: d.set_index('Date').between_time('11:30','11:34').reset_index()
Out[99]:
Date val
0 2016-05-17 11:32:25 0.235264
1 2016-05-17 11:33:25 0.755800
示例数据帧:
In [98]: d
Out[98]:
Date val
0 2016-05-17 11:32:25 0.235264
1 2016-05-17 11:33:25 0.755800
2 2016-05-17 11:34:25 0.849591
3 2016-05-20 12:00:25 0.955704
4 2016-05-21 13:13:13 0.301753
谢谢你!我在路上,但我还没完全明白。我将代码重写为以下内容:modified_array.ix[pd.to_datetime(modified_array['Epoch']).isin(pd.bdate_range(start='2016-05-17',end='2016-05-22'))]省略“d.Date.dt.Date”是因为它最初不起作用。我怀疑这可能会导致我没有收到这行代码的错误消息,但数据帧(在本例中为“modified_array”)没有更改。顺便说一下,为了调试和检查输出,我尝试使用np.save将数组保存到一个文件中,但这产生了一个我无法读取的文件。
In [99]: d.set_index('Date').between_time('11:30','11:34').reset_index()
Out[99]:
Date val
0 2016-05-17 11:32:25 0.235264
1 2016-05-17 11:33:25 0.755800
In [98]: d
Out[98]:
Date val
0 2016-05-17 11:32:25 0.235264
1 2016-05-17 11:33:25 0.755800
2 2016-05-17 11:34:25 0.849591
3 2016-05-20 12:00:25 0.955704
4 2016-05-21 13:13:13 0.301753