【发布时间】:2021-06-20 08:57:39
【问题描述】:
给定每行的时间戳,我正在尝试按时间间隔拆分数据帧。例如,如果日期是 12/20/18 02:20:00,我希望能够创建一个新列并将其标记为 12am-6am。我正在尝试使用 .loc() 创建此列,但事实证明,分割时间对我来说是一个挑战。尝试使用 between_time,将我的索引更改为时间戳,我还使用了 date_range 以及 np.where()。
df1.loc[df1['Date'].date_range("0:00", "6:00").time, 'interval'] = '12am-6am'
甚至使用日期列:
df1['Date'].loc[df1['Date'].date_range("0:00", "6:00").time, 'interval'] = '12am-6am'
np.where() 似乎可以编译,但它没有给我正确的分类:
df1['new'] = np.where(df1.Date.dt.hour > 0, '12-6','nothing')
对于满足时间的行,它标记为“无”
我的总体目标是使用 group_by() 将我的数据帧分组到这个间隔中,所以如果有使用时间戳列的更简单和更快的解决方案,我很乐意阅读它。谢谢。
【问题讨论】:
标签: python pandas dataframe group-by timestamp