将日期时间转换为最近的时间点

Convert datetime to the cloest time point

我有如下数据集。

                      dummy                
datetime
2015-10-25 06:00:00      1 
2015-04-05 20:00:00      1 
2015-11-24 00:00:00      1 
2015-08-18 08:00:00      1 
2015-10-21 12:00:00      1 

我想将日期时间更改为最接近的预定义时间点,比如 00:00:00 和 12:00:00

                      dummy                
datetime
2015-10-25 00:00:00      1 
2015-04-05 12:00:00      1 
2015-11-24 00:00:00      1 
2015-08-18 00:00:00      1 
2015-10-21 12:00:00      1 

这里可以使用 DatetimeIndex.floor:

df.index = df.index.floor('12H')
print (df)
                     dummy
datetime                  
2015-10-25 00:00:00      1
2015-04-05 12:00:00      1
2015-11-24 00:00:00      1
2015-08-18 00:00:00      1
2015-10-21 12:00:00      1