将缺失的数据添加到按日期分组的数据框中

我有一个名为time的datetime列的Pandas数据框。我想计算每小时的行数。问题是,我希望生成的表格处理几小时不存在行。例如:将缺失的数据添加到按日期分组的数据框中

time id lat lon type 

0 2017-06-09 19:34:59.945128-07:00 75 36.999866 -122.058180 UPPER CAMPUS

1 2017-06-09 19:53:56.387058-07:00 75 36.979664 -122.058900 OUT OF SERVICE/SORRY

2 2017-06-09 19:28:53.525189-07:00 75 36.988640 -122.066820 UPPER CAMPUS

3 2017-06-09 19:30:31.633478-07:00 75 36.991657 -122.066605 UPPER CAMPUS

我可以得到使用df.groupby(df.time.dt.hour).count()产生这些值:

time id lat lon type 

time

0 2121 2121 2121 2121 2121

1 2334 2334 2334 2334 2334

2 1523 1523 1523 1523 1523

6 8148 8148 8148 8148 8148

哪个是正确的:0,1,2是一天的小时。但是,我想表示没有行3,4,5小时的行。对于每个列名都是不必要的,因为每个列的值都是相同的。

回答:

您可以使用reindex

#if want all hours 

df1 = df.groupby(df.time.dt.hour)[''].count().reindex(range(23), fill_value=0)

#if want 0 to max hour

df1 = df.groupby(df.time.dt.hour).count()

.reindex(range(df.time.dt.hour.max() + 1), fill_value=0)

以上是 将缺失的数据添加到按日期分组的数据框中 的全部内容, 来源链接: utcz.com/qa/261511.html

回到顶部