首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: Groupby hour包含空值

Python: Groupby hour包含空值
EN

Stack Overflow用户
提问于 2016-05-03 00:37:24
回答 1查看 627关注 0票数 0

使用花旗自行车数据:https://s3.amazonaws.com/tripdata/index.html

代码语言:javascript
复制
tripduration    starttime   stoptime    start_station_id    start_station_name  start_station_latitude  start_station_longitude end_station_id  end_station_name    end_station_latitude    end_station_longitude   bikeid  usertype    birth_year  gender
461 2016-02-01 00:00:08 2016-02-01 00:07:49 480 W 53 St & 10 Ave    40.766697   -73.990617  524 W 43 St & 6 Ave 40.755273   -73.983169  23292   Subscriber  1966.0  1
297 2016-02-01 00:00:56 2016-02-01 00:05:53 463 9 Ave & W 16 St 40.742065   -74.004432  380 W 4 St & 7 Ave S    40.734011   -74.002939  15329   Subscriber  1977.0  1  
280 2016-02-01 00:01:00 2016-02-01 00:05:40 3134    3 Ave & E 62 St 40.763126   -73.965269  3141    1 Ave & E 68 St 40.765005   -73.958185  22927   Subscriber  1987.0  1

使用Groupby函数按小时分组,我希望包含空值作为零。

我使用了以下代码:

代码语言:javascript
复制
bikes_parked = df.groupby(['end_station_name',pd.Grouper(key='stoptime',freq='H')]).size().reset_index()
bikes_parked.rename(columns={0: 'bikes_parked'},inplace=True)

它返回按小时停放的自行车数,但对于没有跳过数据的小时。

输出:

代码语言:javascript
复制
    end_station_name    stoptime               bikes_parked
0   1 Ave & E 15 St     2016-02-01 00:00:00    1
1   1 Ave & E 15 St     2016-02-01 05:00:00    1
2   1 Ave & E 15 St     2016-02-01 06:00:00    3

我想包括停止时间01,02,03,04,bikes_parked也是0。

EN

回答 1

Stack Overflow用户

发布于 2016-05-10 15:26:49

正如评论中提到的,解决方案如下:

1)创建一个全小时范围的DataFrame,全部设置为bikes_parked=0

2)使用分组表中的相关数据更新此DF,方法是:

代码语言:javascript
复制
df.loc[bikes_parked.index, 'bikes_parked'] = bikes_parked.bikes_parked
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36987317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档