从时间戳中提取小时和分钟,但将其保留为日期时间格式

鲍里斯瓦纳克斯

我有一个像这样的数据框

   open  Start show Einde show
5   NaN     11:30   NaN
6   16:00   18:00   19:45
7   14:30   16:30   18:15
8   NaN     NaN      NaN
9   18:45   20:45   22:30

这些小时为字符串格式,我想将其转换为日期时间格式。每当我尝试使用pd.to_datetime(evs['open'], errors='coerce')(更改其中一列)时,它会将小时更改为完整的日期时间格式,例如:2020-04-03 16:00:00带今天的日期。我只想有一个小时,但是仍然是日期时间格式,所以我可以添加分钟等。

现在,当我dt.hour用来访问小时时,它返回一个字符串,而不是HH:MM格式。

有人可以帮我吗?我正在通过Pandas读取CSV,read_csv但是当我使用日期解析器时,我遇到了同样的问题。理想情况下,这将在本read_csv节中得到解决,而不是单独进行修复,但是在这一点上,我将采取任何措施。

谢谢!

above_c_level

克里斯评论说,不可能只将小时和分钟转换为日期时间格式。但是您可以使用timedeltas解决您的问题。

import datetime
import pandas as pd

def to_timedelta(date): 
    date = pd.to_datetime(date)
    try:
        date_start = datetime.datetime(date.year, date.month, date.day, 0, 0)
    except TypeError:
        return pd.NaT # to keep dtype of series; Alternative: pd.Timedelta(0)
    return date - date_start


df['open'].apply(to_timedelta)

输出:

5        NaT
6   16:00:00
7   14:30:00
8        NaT
9   18:45:00
Name: open, dtype: timedelta64[ns]

现在,您可以使用datetime.timedelta来添加/减去分钟,小时或其他任何时间:

df['open'] + datetime.timedelta(minutes=15)

输出:

5        NaT
6   16:15:00
7   14:45:00
8        NaT
9   19:00:00
Name: open, dtype: timedelta64[ns]

同样,返回完整的日期时间也很容易:

df['open'] + datetime.datetime(2020, 4, 4)

输出:

5                   NaT
6   2020-04-04 16:00:00
7   2020-04-04 14:30:00
8                   NaT
9   2020-04-04 18:45:00
Name: open, dtype: datetime64[ns]

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:从可变格式时间戳中提取小时

来自分类Dev

查找SQLite或Python中格式为YYYY-MM-DDTHH-MM-SS.sssZ的日期时间戳之间的时差(以小时和分钟为单位)

来自分类Dev

如何从时间戳中提取小时?

来自分类Dev

在 bash 中提取和格式化时间戳

来自分类Dev

从日期时间列表中提取天,小时和秒

来自分类Dev

从日期时间列表中提取天,小时和秒

来自分类Dev

将日期时间转换为统一的 15 分钟格式,并从日期时间中提取年、月、日、小时列

来自分类Dev

从日期/时间格式中提取时间

来自分类Dev

如何格式化列,但将其保留为日期时间?

来自分类Dev

将时间字符串 HH:MM(小时和分钟)添加到日期时间戳

来自分类Dev

Hive-以定义的格式提取时间戳和日期

来自分类Dev

无法从BigQuery的时间戳中提取日期

来自分类Dev

从时间戳中提取日期部分

来自分类Dev

用小时和分钟显示日期时间

来自分类Dev

如何从日期时间对象中提取小时/分钟并摆脱“年/月/日/秒”部分?

来自分类Dev

转换MySQL的日期时间为24小时格式UNIX时间戳

来自分类Dev

隐蔽MySQL的日期时间为24小时格式unix时间戳

来自分类Dev

php转数(小时)为php日期和时间格式

来自分类Dev

如何从日期时间中提取小时(以UTC时间为单位)

来自分类Dev

我的数据框列的时间为整数格式,我想将其转换为小时和分钟,并将其归类为垃圾箱

来自分类Dev

相对于(日期,小时,分钟等)的时间戳偏移

来自分类Dev

两种时间戳之间的时差,以小时,分钟和秒为单位

来自分类Dev

如何从纪元时间戳中删除小时,分钟和秒

来自分类Dev

从Java的UTC时间戳中减去分钟和小时

来自分类Dev

如何将日期和时间为AM / PM的字符串转换为24小时mysql时间戳格式

来自分类Dev

Python日期时间提取小时分钟快速

来自分类Dev

24小时格式的日期和时间

来自分类Dev

格式化bash / shell脚本时间为天,小时,分钟和秒

来自分类Dev

格式化bash / shell脚本时间为天,小时,分钟和秒

Related 相关文章

  1. 1

    R:从可变格式时间戳中提取小时

  2. 2

    查找SQLite或Python中格式为YYYY-MM-DDTHH-MM-SS.sssZ的日期时间戳之间的时差(以小时和分钟为单位)

  3. 3

    如何从时间戳中提取小时?

  4. 4

    在 bash 中提取和格式化时间戳

  5. 5

    从日期时间列表中提取天,小时和秒

  6. 6

    从日期时间列表中提取天,小时和秒

  7. 7

    将日期时间转换为统一的 15 分钟格式,并从日期时间中提取年、月、日、小时列

  8. 8

    从日期/时间格式中提取时间

  9. 9

    如何格式化列,但将其保留为日期时间?

  10. 10

    将时间字符串 HH:MM(小时和分钟)添加到日期时间戳

  11. 11

    Hive-以定义的格式提取时间戳和日期

  12. 12

    无法从BigQuery的时间戳中提取日期

  13. 13

    从时间戳中提取日期部分

  14. 14

    用小时和分钟显示日期时间

  15. 15

    如何从日期时间对象中提取小时/分钟并摆脱“年/月/日/秒”部分?

  16. 16

    转换MySQL的日期时间为24小时格式UNIX时间戳

  17. 17

    隐蔽MySQL的日期时间为24小时格式unix时间戳

  18. 18

    php转数(小时)为php日期和时间格式

  19. 19

    如何从日期时间中提取小时(以UTC时间为单位)

  20. 20

    我的数据框列的时间为整数格式,我想将其转换为小时和分钟,并将其归类为垃圾箱

  21. 21

    相对于(日期,小时,分钟等)的时间戳偏移

  22. 22

    两种时间戳之间的时差,以小时,分钟和秒为单位

  23. 23

    如何从纪元时间戳中删除小时,分钟和秒

  24. 24

    从Java的UTC时间戳中减去分钟和小时

  25. 25

    如何将日期和时间为AM / PM的字符串转换为24小时mysql时间戳格式

  26. 26

    Python日期时间提取小时分钟快速

  27. 27

    24小时格式的日期和时间

  28. 28

    格式化bash / shell脚本时间为天,小时,分钟和秒

  29. 29

    格式化bash / shell脚本时间为天,小时,分钟和秒

热门标签

归档