python - 在 Python 中向下舍入日期时间对象

标签 python pandas datetime

我试图在 Python 中向下舍入一个 datetime 对象,但遇到了一些问题。这里有很多关于舍入 datetime 的内容,但我找不到任何符合我需要的内容。

我正在尝试获取 15 分钟间隔的日期范围,以 .now() 为终点。为了得到我的 end= 我这样做:

pd.Timestamp.now().round('15min')

返回:

2019-08-16 11:15:00 这正是我想要的,但是,如果我在 11:23 运行它,它会返回给我 2019-08- 16 11:30:00,这实际上不是我想要的,我希望它向下舍入到 2019-08-16 11:15:00,直到我们击中 11 :30.

是否有一种简单的方法可以将其四舍五入,因为如果是的话,我还没有找到答案。

为任何帮助干杯

最佳答案

使用Timestamp.floor :

print (pd.Timestamp('2019-08-16 11:15:00').floor('15min'))
2019-08-16 11:15:00
print (pd.Timestamp('2019-08-16 11:23:00').floor('15min'))
2019-08-16 11:15:00
print (pd.Timestamp('2019-08-16 11:30:00').floor('15min'))
2019-08-16 11:30:00

用于测试:

df = pd.DataFrame({'dates':pd.date_range('2009-01-01', freq='T', periods=20)})

df['new'] = df['dates'].dt.floor('15min')
print (df)

0  2009-01-01 00:00:00 2009-01-01 00:00:00
1  2009-01-01 00:01:00 2009-01-01 00:00:00
2  2009-01-01 00:02:00 2009-01-01 00:00:00
3  2009-01-01 00:03:00 2009-01-01 00:00:00
4  2009-01-01 00:04:00 2009-01-01 00:00:00
5  2009-01-01 00:05:00 2009-01-01 00:00:00
6  2009-01-01 00:06:00 2009-01-01 00:00:00
7  2009-01-01 00:07:00 2009-01-01 00:00:00
8  2009-01-01 00:08:00 2009-01-01 00:00:00
9  2009-01-01 00:09:00 2009-01-01 00:00:00
10 2009-01-01 00:10:00 2009-01-01 00:00:00
11 2009-01-01 00:11:00 2009-01-01 00:00:00
12 2009-01-01 00:12:00 2009-01-01 00:00:00
13 2009-01-01 00:13:00 2009-01-01 00:00:00
14 2009-01-01 00:14:00 2009-01-01 00:00:00
15 2009-01-01 00:15:00 2009-01-01 00:15:00
16 2009-01-01 00:16:00 2009-01-01 00:15:00
17 2009-01-01 00:17:00 2009-01-01 00:15:00
18 2009-01-01 00:18:00 2009-01-01 00:15:00
19 2009-01-01 00:19:00 2009-01-01 00:15:00

关于python - 在 Python 中向下舍入日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57522916/

相关文章:

python - 类型错误 : split() takes no keyword arguments in Python 2. x

python - tf.data.Dataset.map() 的输出张量形状有些奇怪

python - 如何在Python列表中包含反斜杠字符?

python - 有没有一种快速的方法可以将 pandas DataFrame 变成漂亮的 HTML 表格?

delphi - 如何将 Delphi TDateTime 转换为微秒精度的字符串

php - CURTIME() 获取服务器时间而不是 php.ini 中指定的时区

python - Django Web 应用程序中的 SMTP 问题

python - Pandas 将科学计数法中的 float 转换为字符串

sql - 如何从今天日期获得下个月日期(即)从今天日期开始正好一个月

python - 取 pandas groupby 中不同大小的组之间的差异