Vic*_*tor 1 python datetime dataframe pandas
我有一个pandas数据帧,其日期时间作为其索引(如下所示)
['2018-02-13 11:55:00', '2018-02-13 12:00:00',
'2018-02-13 12:05:00', '2018-02-13 12:10:00',
'2018-02-13 12:15:00', '2018-02-13 12:20:00',
'2018-02-13 12:25:00', '2018-02-13 12:30:00',
'2018-02-13 12:35:00', '2018-02-13 12:40:00',
...
'2018-02-19 04:40:00', '2018-02-19 04:45:00',
'2018-02-19 04:50:00', '2018-02-19 05:05:00',
'2018-02-19 05:10:00', '2018-02-19 05:15:00',
'2018-02-19 05:20:00', '2018-02-19 05:25:00',
'2018-02-19 05:30:00', '2018-02-19 05:40:00'])
Run Code Online (Sandbox Code Playgroud)
我想过滤所有时间为12:00:00的值,因此我正在寻找返回值
['2018-02-13 12:00:00','2018-02-14 12:00:00','2018-02-15 12:00:00','2018-02-16 12:00:00','2018-02-17 12:00:00', '2018-02-18 12:00:00']
我该如何进行这样的索引呢?
如果要在中午12:00找到与中午相对应的条目,则使用小时属性是不够的.而是将索引/日期范围与datetime对象进行比较:
dt = pd.date_range('2018-02-13', '2018-02-19', freq='1h')
dt[dt.time == datetime.time(12)]
DatetimeIndex(['2018-02-13 12:00:00', '2018-02-14 12:00:00',
'2018-02-15 12:00:00', '2018-02-16 12:00:00',
'2018-02-17 12:00:00', '2018-02-18 12:00:00'],
dtype='datetime64[ns]', freq=None)
Run Code Online (Sandbox Code Playgroud)
如果你希望引入分钟或秒部分,只需更改datetime.time(12)到datetime.time(12, 5)了下午12点05分00秒,或datetime.time(12, 5, 30)为下午12时05分30秒,依此类推.