如何解决如何将归类日期的datetime组返回到新的pandas列中?
我有一个看起来像这样的熊猫数据框:
Date Interval
31/8/20 9:22:07 Period 1
31/8/20 7:20:35 Period 9
31/8/20 7:18:24 Period 9
31/8/20 7:13:49 Period 10
31/8/20 7:07:05 Period 10
31/8/20 6:46:54 Period 11
31/8/20 0:26:16 Period 37
30/8/20 23:52:20 Period 39
30/8/20 23:50:04 Period 39
这是由以下代码生成的:
# CONVERT TO DATETIME
df['Date'] = pd.to_datetime(df['Date'])
# SORT BY DATE VALUES
df = df.sort_values(by=['Date'],ascending=False)
# GROUP INTO 15 MINUTE INTERVALS
s = df.groupby(pd.Grouper(freq='15min',key='Date')).ngroup(ascending=False).add(1)
df['Interval'] = 'Period ' + s.astype(str)
我想在数据框中添加一个新列,以显示生成“ Period”值的日期时间间隔。这样我的输出应如下所示:
Date Interval 15_Min_Interval_Period_Belongs_To
31/8/20 9:22:07 Period 1 31/8/20 9:15:00
31/8/20 7:20:35 Period 9 31/8/20 7:15:00
31/8/20 7:18:24 Period 9 31/8/20 7:15:00
31/8/20 7:13:49 Period 10 31/8/20 7:00:00
31/8/20 7:07:05 Period 10 31/8/20 7:00:00
31/8/20 6:46:54 Period 11 31/8/20 6:45:00
31/8/20 0:26:16 Period 37 31/8/20 0:15:00
30/8/20 23:52:20 Period 39 30/8/20 23:45:00
30/8/20 23:50:04 Period 39 30/8/20 23:45:00
我尝试过:
s2 = df.groupby(pd.Grouper(freq='15min',key='Interval')).get_group()
无济于事。
谢谢您的帮助。
解决方法
df['15_Min_Interval_Period_Belongs_To'] = df['Date'].dt.floor('15Min')
print (df)
Date Interval 15_Min_Interval_Period_Belongs_To
0 2020-08-31 09:22:07 Period 1 2020-08-31 09:15:00
1 2020-08-31 07:20:35 Period 9 2020-08-31 07:15:00
2 2020-08-31 07:18:24 Period 9 2020-08-31 07:15:00
3 2020-08-31 07:13:49 Period 10 2020-08-31 07:00:00
4 2020-08-31 07:07:05 Period 10 2020-08-31 07:00:00
5 2020-08-31 06:46:54 Period 11 2020-08-31 06:45:00
6 2020-08-31 00:26:16 Period 37 2020-08-31 00:15:00
7 2020-08-30 23:52:20 Period 39 2020-08-30 23:45:00
8 2020-08-30 23:50:04 Period 39 2020-08-30 23:45:00
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。