如何在Python的数据框中将日期时间舍入为十分钟日期时间

洛伯·维奇(Lboro Vicki)

我有一列数据时间,格式为:2015-06-25 03:29:58,我相信它是在datetime64中。我想将它们四舍五入到最近的十分钟。

IE

2015-06-25 03:29:58  =   2015-06-25 03:30:00
2015-06-25 03:24:58  =   2015-06-25 03:20:00
2015-06-25 03:59:58  =   2015-06-25 04:00:00

我四处寻找这个问题的答案,有一些线程和四舍五入时间的解决方案,例如这样的:如何将datetime列四舍五入到最近的四分之一小时

但是,此方法只能向下取整,而不能向上取整。

我也看到了其他解决方案,但是无法解决如何将它们应用于数据帧中的日期时间。

我尝试了许多不同的版本:

from pandas import * 
import datetime

rounded_ten = lambda dt: datetime.datetime(dt.year, dt.month, dt.day,(dt.hour), 10*(round(dt.minute/10)))

dataframe1['Device Time'] = dataframe1['Device Time'].apply(rounded_ten)

但是,这不起作用,因为当您将55向上舍入时,它会给出60的答案。在这种格式下,这是不可接受的。我想应用一些if语句,但是我不明白如何将它们应用于这种格式。

任何帮助将不胜感激。

布尔汉

试试这个:

rounded_ten = lambda t:t.replace(分钟= t.minute / 10 * 10).replace(second = 0)+ pd.Timedelta('10分钟')

我想我一开始误解了这个问题。这应该工作:

import pandas as pd

def rounded_ten(t):
    ''' add 5 minutes to the date first and then apply mathematical floor to the minute part.
    It's easier to apply mathematical floor operation on date parts instead of rounding because for example you cannot round up 58 seconds to 60 seconds but you can always apply floor and stay within the range.
    '''
    t=t+pd.Timedelta('5 minutes') 
    return t.replace(minute=t.minute//10*10).replace(second=0)

或者,如果您要使用一个衬板:

rounded_ten = lambda t: (t+pd.Timedelta('5 minutes')).replace(minute=(t+pd.Timedelta('5 minutes')).minute//10*10).replace(second=0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

日期时间早于某个时间(例如15分钟)

来自分类Dev

MYSQL将日期时间舍入为15分钟

来自分类Dev

如何将数据库记录分组为15分钟的时间间隔

来自分类Dev

如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

来自分类Dev

将日期时间修改为过去15分钟

来自分类Dev

舍入时间间隔最多为15分钟

来自分类Dev

十分钟后svnsync超时

来自分类Dev

如何计算以每个日期的持续时间和15分钟的间隔记录的用户

来自分类Dev

如何以45分钟为间隔将日期和时间四舍五入为日期和时间

来自分类Dev

Python(日期时间)时区转换关闭了4分钟

来自分类Dev

以小时为间隔插入15分钟的日期时间

来自分类Dev

如何在Python中将1分钟的开-高-低-关数据转换为另一个时间范围(fx:5分钟1小时)?

来自分类Dev

在Lua中将时间间隔为5分钟

来自分类Dev

在R中以15分钟为增量过滤大量日期/时间数据

来自分类Dev

如何在Matplotlib中绘制非常大的数据集(日期,时间(x轴)与每年每15分钟记录的值(y轴)一年)

来自分类Dev

如何每十分钟执行一次python脚本操作

来自分类Dev

如何将15分钟数据转换为每小时以熊猫为单位的时间?

来自分类Dev

如何在时间列(LocalDateTime)为00分钟的地方获取数据?

来自分类Dev

MYSQL将日期时间舍入为15分钟

来自分类Dev

游戏十分钟后显卡出现故障

来自分类Dev

如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

来自分类Dev

如何在Scala或Java中将纪元时间增加5分钟

来自分类Dev

将日期时间修改为过去15分钟

来自分类Dev

十分钟之内拿到所有物品

来自分类Dev

安排在Google App Engine中运行超过十分钟的任务的最佳方法是什么?

来自分类Dev

十分钟未使用后删除行(“到期”)

来自分类Dev

使用连接字符串时,如何在组合框中将数据表日期时间列显示为日期?

来自分类Dev

每十分钟计算一次方括号中的 ID 的 Bash 脚本

来自分类Dev

如何在每小时开始时暂停 C# 代码十分钟

Related 相关文章

  1. 1

    日期时间早于某个时间(例如15分钟)

  2. 2

    MYSQL将日期时间舍入为15分钟

  3. 3

    如何将数据库记录分组为15分钟的时间间隔

  4. 4

    如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

  5. 5

    将日期时间修改为过去15分钟

  6. 6

    舍入时间间隔最多为15分钟

  7. 7

    十分钟后svnsync超时

  8. 8

    如何计算以每个日期的持续时间和15分钟的间隔记录的用户

  9. 9

    如何以45分钟为间隔将日期和时间四舍五入为日期和时间

  10. 10

    Python(日期时间)时区转换关闭了4分钟

  11. 11

    以小时为间隔插入15分钟的日期时间

  12. 12

    如何在Python中将1分钟的开-高-低-关数据转换为另一个时间范围(fx:5分钟1小时)?

  13. 13

    在Lua中将时间间隔为5分钟

  14. 14

    在R中以15分钟为增量过滤大量日期/时间数据

  15. 15

    如何在Matplotlib中绘制非常大的数据集(日期,时间(x轴)与每年每15分钟记录的值(y轴)一年)

  16. 16

    如何每十分钟执行一次python脚本操作

  17. 17

    如何将15分钟数据转换为每小时以熊猫为单位的时间?

  18. 18

    如何在时间列(LocalDateTime)为00分钟的地方获取数据?

  19. 19

    MYSQL将日期时间舍入为15分钟

  20. 20

    游戏十分钟后显卡出现故障

  21. 21

    如何使用不完整的数据集创建5分钟间隔的日期时间索引(Python)

  22. 22

    如何在Scala或Java中将纪元时间增加5分钟

  23. 23

    将日期时间修改为过去15分钟

  24. 24

    十分钟之内拿到所有物品

  25. 25

    安排在Google App Engine中运行超过十分钟的任务的最佳方法是什么?

  26. 26

    十分钟未使用后删除行(“到期”)

  27. 27

    使用连接字符串时,如何在组合框中将数据表日期时间列显示为日期?

  28. 28

    每十分钟计算一次方括号中的 ID 的 Bash 脚本

  29. 29

    如何在每小时开始时暂停 C# 代码十分钟

热门标签

归档