我无法按小时对数据帧进行分组。即使我指定按小时分组,也按秒分组。
我将数据从数据库加载到数据框(整个数据库)中。然后,我想过滤保存在此数据框中的数据。 我在python 3中使用pandas 0.24.2。
所以,这里我将数据库加载到数据框df
SQL = pd.read_sql_query(''' SELECT
`Event_date`, `Col2`, `Col3`
FROM db.data
''', conn, parse_dates=['Event_date'])
df = pd.DataFrame(SQL, columns=['Event_date', 'Col2', 'Col3'])
然后我指定测试时间:
start = '2019-03-12 15:00:00'
end = '2019-03-13 16:00:00'
现在我仅在上述时间内过滤数据,然后将结果保存到g中,如下所示:
g = (df[(df['Event_date'] > start) & (df['Event_date'] < end)])
然后我设置索引:
g2.set_index('Event_date', inplace=True)
最后分组:
print(g2.groupby(['Event_date', pd.Grouper(freq='H')])['Event_date'].count())
如您所见,我想按小时分组数据,但是即使我将频率设置为' H ',它也会打印出按< strong>秒。
如果有人可以帮助我,请先谢谢您。