我正在探索自行车共享数据。
我合并了两个表:一个包含自行车共享数据,另一个包含天气数据。 “开始日期”列位于自行车共享数据中。 “日期”列是天气数据。
我想对每小时的 ID 计数进行分组,这样我就可以看到天气对自行车使用的影响。
ID |
Start |
End |
Date Start |
Duration |
date |
rain |
temp |
wdsp |
1754125 |
Eyre Square South |
Glenina |
01 Jan 2019 00:17 |
00:15:02 |
01-jan-2019 00:00 |
0.0 |
9.9 |
4.0 |
1754170 |
Brown Doorway |
University Hospital Galway |
01 Jan 2019 07:55 |
00:04:57 |
01-jan-2019 01:00 |
0.0 |
9.3 |
4.0 |
1754209 |
New Dock Street |
New Dock Street |
01 Jan 2019 11:42 |
02:57:57 |
01-jan-2019 02:00 |
0.0 |
9.2 |
5.0 |
1754211 |
Claddagh Basin |
Merchants Gate |
01 Jan 2019 11:50 |
00:02:43 |
01-jan-2019 03:00 |
0.0 |
9.1 |
5.0 |
我努力了:
data.groupby(['date','ID']).size()
data.groupby(['date','ID']).size().reset_index(name='counts')
但我真的不知道我在做什么。任何帮助,将不胜感激。
我假设您希望能够按 ID、日期和小时对行进行计数,因此您可以这样做:
df['Date'] = df['Date Start'].dt.normalize()
df['hour'] = df['Date Start'].apply(lambda x: x.hour)
获取日期和完整时间:
ID Start End Date Start \
0 1754125 Eyre Square South Glenina 2019-01-01 00:17:00
1 1754170 Brown Doorway University Hospital Galway 2019-01-01 07:55:00
2 1754209 New Dock Street New Dock Street 2019-01-01 11:42:00
3 1754211 Claddagh Basin Merchants Gate 2019-01-01 11:50:00
Duration date rain temp wdsp Date hour
0 00:15:02 2019-01-01 00:00 0.0 9.9 4.0 2019-01-01 0
1 00:04:57 2019-01-01 01:00 0.0 9.3 4.0 2019-01-01 7
2 02:57:57 2019-01-01 02:00 0.0 9.2 5.0 2019-01-01 11
3 00:02:43 2019-01-01 03:00 0.0 9.1 5.0 2019-01-01 11
然后使用分组依据:
df.groupby(['ID','Date','hour']).size()
返回
ID Date hour
1754125 2019-01-01 0 1
1754170 2019-01-01 7 1
1754209 2019-01-01 11 1
1754211 2019-01-01 11 1
dtype: int64
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)