0
使用citibike數據:https://s3.amazonaws.com/tripdata/index.html的Python:GROUPBY小時包括空值
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功能分組,我想包括空值爲零。
我用下面的代碼:
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)
哪個返回按小時停放自行車的數量,但是對於沒有數據的時間也跳過。
輸出:
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爲好。
你能分享一小部分你正在使用的數據嗎? 在'groupby'之前嘗試'df = df.fillna(0)'。 – user666
您沒有任何附加約束?只想填充na的零?然後'bikes_parked = df.fillna(0).groupby([...'應該工作。 – ayhan
@ayhan - 對不起,我沒有包含原始數據.df只包含旅程結束時的停止時間。所以fillna(0)開啓 –