将pandas数据框中的多列转换为时间戳-舍入到最接近的15分钟间隔

时间:2018-12-17 20:35:47

标签: pandas dataframe

我在数据框的日期,小时和分钟中有3列

         date  hour  minute
0  2018-01-01     0      10
1  2018-01-01     1      20
2  2018-01-01     2      50
3  2018-01-01     3      40
4  2018-01-01     4       7
5  2018-01-01     5       0
6  2018-01-01     6       2

我需要将这些列合并为1个timestamp列,但是时间戳应四舍五入到最接近的15分钟间隔。

所以我的预期输出将是

timestamp
2018-01-01 00:15
2018-01-01 01:15
2018-01-01 02:45
2018-01-01 03:45
2018-01-01 04:00
2018-01-01 05:00
2018-01-01 06:00

1 个答案:

答案 0 :(得分:2)

您还可以使用:

(pd.to_datetime(df['date']) +
 pd.to_timedelta(df['hour'], 'H') +
 pd.to_timedelta(df['minute'], 'm')).dt.round('15min')