将时间戳转换为Pandas中的自定义句点之一

时间:2014-08-27 02:02:15

标签: python pandas time-series

假设我定义了一天的4个自定义时间段:上午6点到12点,下午12点到7点,下午7点到早上00点,早上00点到早上6点。 大熊猫将给定时间戳转换为其中一个时段的干净方式是什么?

1 个答案:

答案 0 :(得分:1)

也许您可以使用numpy.searchsorted

>>> idx
<class 'pandas.tseries.index.DatetimeIndex'>
[2014-08-26 22:20:34.580486, ..., 2014-08-29 05:20:34.581053]
Length: 12, Freq: None, Timezone: None
>>> idx.hour
array([22,  3,  8, 13, 18, 23,  4,  9, 14, 19,  0,  5], dtype=int32)

>>> p = np.array(['00am-06am', '06am-12pm', '12pm-07pm', '07pm-00am'])
>>> p[np.searchsorted([6, 12, 19, 24], idx.hour)]
array(['07pm-00am', '00am-06am', '06am-12pm', '12pm-07pm', '12pm-07pm',
       '07pm-00am', '00am-06am', '06am-12pm', '12pm-07pm', '12pm-07pm',
       '00am-06am', '00am-06am'], 
      dtype='<U9')