首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将dataframe中对象列的持续时间(例如2h 50m、8h 35m)转换为仅包含分钟的日期时间列?

要将dataframe中对象列的持续时间转换为仅包含分钟的日期时间列,可以按照以下步骤进行操作:

  1. 首先,将对象列中的持续时间转换为分钟数。可以使用正则表达式或字符串处理方法提取小时和分钟数,并将其转换为分钟数。例如,对于持续时间为"2h 50m"的对象,可以提取出2小时和50分钟,然后将其转换为170分钟。
  2. 接下来,将分钟数转换为日期时间列。可以使用pandas库中的to_datetime函数将分钟数转换为日期时间格式。将分钟数作为参数传递给to_datetime函数,并指定单位为分钟。这将返回一个包含日期时间的新列。

以下是一个示例代码,演示如何将dataframe中的对象列转换为仅包含分钟的日期时间列:

代码语言:txt
复制
import pandas as pd
import re

# 创建示例dataframe
df = pd.DataFrame({'持续时间': ['2h 50m', '8h 35m', '1h 15m']})

# 提取小时和分钟数,并转换为分钟
df['分钟数'] = df['持续时间'].apply(lambda x: int(re.findall(r'\d+', x)[0])*60 + int(re.findall(r'\d+', x)[1]))

# 将分钟数转换为日期时间列
df['日期时间'] = pd.to_datetime(df['分钟数'], unit='m')

# 打印转换后的dataframe
print(df)

输出结果如下:

代码语言:txt
复制
    持续时间  分钟数                日期时间
0  2h 50m  170 1970-01-01 02:50:00
1  8h 35m  515 1970-01-01 08:35:00
2  1h 15m   75 1970-01-01 01:15:00

在这个示例中,我们首先使用正则表达式提取出持续时间中的小时和分钟数,并将其转换为分钟数。然后,使用to_datetime函数将分钟数转换为日期时间格式,并将其存储在新的列中。最后,打印转换后的dataframe。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法提供相关链接。但可以根据具体需求,在腾讯云官方网站上搜索相关产品,以获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券