如何将hh:mm的列字符串转换为时间格式

胡安·戈麦斯

在此处输入图片说明

我正在尝试阅读该专栏total_time并总结用户具有相同含义的时间'name 1' = 03:30 + 04:00,依此类推,我正在尝试使用pandas,并且设法将数据分开,但是当我尝试使用时total_time,因为一个对象,我不能仅仅sum把它设置起来,所以我试图将这个对象的格式更改为一个datetime对象,但是我却做不到。

format_time="%H:%M"

user1 = df.loc[df['user']== "name 1"]

user1['hora']=datetime.strptime((user1['total_time']),format_time)

我已经尝试过了,这给了我一个错误

AttributeError: module 'datetime' has no attribute 'strptime'
特伦顿·麦金尼
  • 除了从不.strptime正确的名称空间访问的事实外,它应该是,即使使用正确的函数调用datetime.datetime.strptime,实现也会导致错误(TypeError: strptime() argument 1 must be str, not Series)。
    • pandas 已经具有内置的矢量化日期时间功能。
  • 在这种情况下,列中的小时和分钟'total_time表示绝对时间,因此应使用转换列pandas.to_timedelta
    • 该函数采用string形式'hh:mm:ss',因此df.tt + ':00'用于将'total_time''tt')列转换为正确的格式。
import pandas as pd

# test dataframe
df = pd.DataFrame({'user': ['n1', 'n2', 'n3', '', 'n1', 'n2'],
                   'ts': ['09:30', '09:30', '09:30', '', '14:00', '10:00'],
                   'te': ['14:00', '10:00', '12:00', '', '18:00', '18:00'],
                   'ls': ['12:00', '', '', '', '', '13:00'],
                   'le': ['13:00', '', '', '', '', '14:00'],
                   'tt': ['03:00', '00:30', '02:30', '00:00', '04:00', '07:00']})

# display(df)
  user     ts     te     ls     le     tt
0   n1  09:30  14:00  12:00  13:00  03:00
1   n2  09:30  10:00                00:30
2   n3  09:30  12:00                02:30
3                                   00:00
4   n1  14:00  18:00                04:00
5   n2  10:00  18:00  13:00  14:00  07:00
# fill blanks with nan
df = df.replace('', np.nan)

# drop all rows that are all nan, except total_time
df = df.dropna(axis=0, how='all', subset=df.columns[:-2])

# display(df)
  user     ts     te     ls     le     tt
0   n1  09:30  14:00  12:00  13:00  03:00
1   n2  09:30  10:00    NaN    NaN  00:30
2   n3  09:30  12:00    NaN    NaN  02:30
4   n1  14:00  18:00    NaN    NaN  04:00
5   n2  10:00  18:00  13:00  14:00  07:00
# convert total_time (tt) to a timedelta
df.tt = pd.to_timedelta(df.tt + ':00')

# groupby user and sum the tt column
total_hours = df.groupby('user').tt.sum().reset_index(name='total_hours')

# display(total_hours)
  user     total_hours
0   n1 0 days 07:00:00
1   n2 0 days 07:30:00
2   n3 0 days 02:30:00

# to have total_hours as a float
total_hours.total_hours = total_hours.total_hours / pd.to_timedelta(1, 'h')

# display(total_hours)
  user  total_hours
0   n1          7.0
1   n2          7.5
2   n3          2.5

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将多个日期格式的字符串转换为时区格式的时间戳

来自分类Dev

如何将jodatime持续时间转换为格式为hh:mm:ss的字符串?

来自分类Dev

如何将jodatime持续时间转换为格式为hh:mm:ss的字符串?

来自分类Dev

将字符串转换为时间格式

来自分类Dev

如何将字符串转换为yyyy-MM-dd HH:MM:ss格式的日期

来自分类Dev

Pyspark列:将字符串格式的数据转换为时间戳格式

来自分类Dev

将数字转换为时间格式 HH:mm:ss

来自分类Dev

如何将月年时间字符串转换为时间?

来自分类Dev

如何将时间字符串转换为时间戳

来自分类Dev

如何将dd / MM / YYYY格式的字符串日期转换为YYYY-MM-dd日期时间?

来自分类Dev

如何使用EPPlus在Excel中将基于字符串的时间转换为hh:mm格式?

来自分类Dev

SAS当从CSV加载数据时,如何将字符串转换为时间?

来自分类Dev

如何将字符串转换为时间戳

来自分类Dev

如何将日期字符串从 JSON 转换为时间跨度

来自分类Dev

Teradata格式的字符串,用于将字符串转换为时间戳(6)

来自分类Dev

在C#中以yyyy-MM-dd HH:mm:ss格式将字符串转换为日期时间

来自分类Dev

如何将字符串“ 07:35”(HH:MM)转换为TimeSpan

来自分类Dev

如何将日期时间转换为时间格式

来自分类Dev

在PHP中将字符串转换为hh:mm时间格式的时间

来自分类Dev

如何使用moment.js将秒转换为时间格式(YYYY:MM:DD HH:mm:ss)

来自分类Dev

Python - Pandas - 将格式为 2018-01-01 的日期列转换为时间戳的字符串版本

来自分类Dev

输入字符串/对象格式错误,即%H并非所有行都存在时,如何将对象或字符串转换为时间格式

来自分类Dev

如何将字符串转换为日期格式dd / MM / yyyy

来自分类Dev

如何将字符串日期(25.04.2016)转换为日期格式(mm / dd / yyyy)?

来自分类Dev

如何将毫秒(整数)转换为mm:ss格式的字符串?

来自分类Dev

如何以HH:mm格式提取当前时间而不在asp.net mvc中转换为字符串?

来自分类Dev

如何将python timedelta转换为具有前导零的字符串,以便保留格式“ 00:00:00”(%HH:%MM:%SS)

来自分类Dev

PySpark数据帧将异常的字符串格式转换为时间戳

来自分类Dev

将毫秒整数转换为时间格式的字符串

Related 相关文章

  1. 1

    如何将多个日期格式的字符串转换为时区格式的时间戳

  2. 2

    如何将jodatime持续时间转换为格式为hh:mm:ss的字符串?

  3. 3

    如何将jodatime持续时间转换为格式为hh:mm:ss的字符串?

  4. 4

    将字符串转换为时间格式

  5. 5

    如何将字符串转换为yyyy-MM-dd HH:MM:ss格式的日期

  6. 6

    Pyspark列:将字符串格式的数据转换为时间戳格式

  7. 7

    将数字转换为时间格式 HH:mm:ss

  8. 8

    如何将月年时间字符串转换为时间?

  9. 9

    如何将时间字符串转换为时间戳

  10. 10

    如何将dd / MM / YYYY格式的字符串日期转换为YYYY-MM-dd日期时间?

  11. 11

    如何使用EPPlus在Excel中将基于字符串的时间转换为hh:mm格式?

  12. 12

    SAS当从CSV加载数据时,如何将字符串转换为时间?

  13. 13

    如何将字符串转换为时间戳

  14. 14

    如何将日期字符串从 JSON 转换为时间跨度

  15. 15

    Teradata格式的字符串,用于将字符串转换为时间戳(6)

  16. 16

    在C#中以yyyy-MM-dd HH:mm:ss格式将字符串转换为日期时间

  17. 17

    如何将字符串“ 07:35”(HH:MM)转换为TimeSpan

  18. 18

    如何将日期时间转换为时间格式

  19. 19

    在PHP中将字符串转换为hh:mm时间格式的时间

  20. 20

    如何使用moment.js将秒转换为时间格式(YYYY:MM:DD HH:mm:ss)

  21. 21

    Python - Pandas - 将格式为 2018-01-01 的日期列转换为时间戳的字符串版本

  22. 22

    输入字符串/对象格式错误,即%H并非所有行都存在时,如何将对象或字符串转换为时间格式

  23. 23

    如何将字符串转换为日期格式dd / MM / yyyy

  24. 24

    如何将字符串日期(25.04.2016)转换为日期格式(mm / dd / yyyy)?

  25. 25

    如何将毫秒(整数)转换为mm:ss格式的字符串?

  26. 26

    如何以HH:mm格式提取当前时间而不在asp.net mvc中转换为字符串?

  27. 27

    如何将python timedelta转换为具有前导零的字符串,以便保留格式“ 00:00:00”(%HH:%MM:%SS)

  28. 28

    PySpark数据帧将异常的字符串格式转换为时间戳

  29. 29

    将毫秒整数转换为时间格式的字符串

热门标签

归档