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

Pandas:当某些分钟大于60时,如何将一列以分钟为单位的持续时间转换为datetime?

在Pandas中,可以使用to_timedelta()函数将一列以分钟为单位的持续时间转换为datetime。当某些分钟大于60时,可以使用以下步骤进行转换:

  1. 首先,将分钟列转换为字符串类型,以便进行处理。
  2. 使用正则表达式将分钟列中大于60的部分提取出来。
  3. 将提取出来的部分转换为整数,并将其除以60得到小时数。
  4. 将小时数加回到分钟列中,得到修正后的分钟数。
  5. 使用to_timedelta()函数将修正后的分钟数转换为datetime类型。

以下是示例代码:

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

# 创建示例数据
data = {'分钟': ['60', '70', '80', '90']}
df = pd.DataFrame(data)

# 将分钟列转换为字符串类型
df['分钟'] = df['分钟'].astype(str)

# 使用正则表达式提取大于60的部分
pattern = r'(\d+)(?=\d{2}$)'
df['分钟修正'] = df['分钟'].str.extract(pattern)

# 将提取出来的部分转换为整数,并除以60得到小时数
df['小时'] = df['分钟修正'].astype(int) // 60

# 将小时数加回到分钟列中,得到修正后的分钟数
df['分钟修正'] = df['分钟修正'].astype(int) % 60
df['分钟修正'] = df['分钟修正'].astype(str).str.zfill(2)

# 将修正后的分钟数转换为datetime类型
df['持续时间'] = pd.to_timedelta(df['小时'].astype(str) + ':' + df['分钟修正'] + ':00')

# 打印结果
print(df)

输出结果如下:

代码语言:txt
复制
   分钟 分钟修正  小时     持续时间
0  60    00   1 01:00:00
1  70    10   1 01:10:00
2  80    20   1 01:20:00
3  90    30   1 01:30:00

在这个例子中,我们创建了一个包含分钟列的DataFrame。通过使用正则表达式,我们提取了大于60的部分,并将其转换为小时数。然后,我们将小时数加回到分钟列中,得到修正后的分钟数。最后,使用to_timedelta()函数将修正后的分钟数转换为datetime类型的持续时间。

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

相关·内容

分析你个人Netflix数据

将字符串转换为PandasDatetime和Timedelta 我们两个时间相关列中数据看起来确实正确,但是这些数据实际存储格式是什么?...具体来说,我们需要做到以下几点: 将Start Time转换为datetimepandas可以理解和执行计算数据和时间格式) 将Start Time从UTC转换为本地时区 将持续时间换为timedelta...(pandas可以理解并执行计算持续时间格式) 所以,让我们按照这个顺序来处理这些任务,首先使用pandas将Start Time通过pd.to_datetime()转换为DateTime 我们还将添加可选参数...在我们数据探索中,我们注意到某些内容(如章节预览)在主页上自动播放时,它将被视为我们数据中视图。 然而,只看两秒钟预告片和真正看一部电视剧是不一样!...因此,让我们进一步过滤friends数据帧,将Duration限制大于1分钟。这将有效地计算观看部分剧集时间,同时过滤掉那些短、不可避免“预览”视图。

1.7K50

一场pandas与SQL巅峰大战(三)

上面代码中data是使用默认参数读取,在data.dtypes结果中ts列是datetime64[ns]格式,而data2是显式指定了ts日期列,因此data2ts类型也是datetime[...日期转换 1.可读日期转换为unix时间戳 在pandas中,我找到方法是先将datetime64[ns]转换为字符串,再调用time模块来实现,代码如下: ?...在pandas中,我们看一下如何将str_timestamp列转换为原来ts列。这里依然采用time模块中方法来实现。 ?...使用timedelta函数既可以实现天单位日期间隔,也可以按周,分钟,秒等进行计算。 在MySQL和Hive中有相应日期间隔函数date_add,date_sub函数,但使用格式略有差异。...在pandas中,如果事件类型是datetime64[ns]类型,直接作差就可以得出日期差,但是得到数据后面还有一个"days"单位,这其实就是上一小节提到timedelta类型。

4.5K20
  • pandas时间处理

    pandas处理技巧-时间处理 记录pandas中关于时间两个处理技巧 字符串类型和datatimens类型转化 如何将时分秒类型数据转成秒单位数据 字符串和时间格式转化 报错 import...pandas as pd from datetime import datetime import time 当我们导入包含日期数据时候,有时候需要进行前期处理,比如:读进来一份包含年月字段数据...df.dtypes # datetime64[ns]类型数据 查看数据字段信息时候发现,发现它是datetime64[ns]类型。...目的是想获取年月信息,去掉最后01,只取前面的年月,直接使用split方法时候,报错如下: ?...5、计算总共时长(秒单位) 需要将每个字符串数据转成int类型,再进行处理 # 时长:分钟*60 + 秒 for i in range(len(df)): df.loc[i,"时长"]

    1.1K20

    Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化

    年9月30日06:00:00,2019年9月30日上午6:00 持续时间 两个瞬时之间差异 2天,4小时,10秒 时间段 时间分组 2019第3季度,一月 PythonDatetime模块 datetime...now = datetime.datetime.today() today = datetime.date.today() print(now) print(today) 创建持续时间 timedeltas...表示时间持续时间。...Series.dt.tz_convert(self, *args, **kwargs) 将时区感知Datetime Array/Index从一个时区转换为另一个时区。...增广迪基-富勒测试用于测试是否存在单位根。如果时间序列有单位根,则表示存在一些时间相关结构,即时间序列不是平稳。 统计量越负值,时间序列越有可能是平稳

    63800

    Pandas学习笔记之时间序列总结

    [D]') 因为 NumPy 数组中所有元素都具有统一datetime64类型,上面的向量化操作将会比我们使用 Python datetime对象高效许多,特别是数组变得很大情况下。...NumPy 可以自动从输入推断需要时间精度(单位);如下面是天单位: np.datetime64('2015-07-04') numpy.datetime64('2015-07-04') 下面是分钟单位...对于时间差或持续时间Pandas 提供了Timedelta类型。构建于numpy.timedelta64之上,是 Python 原生datetime.timedelta类型高性能替代。...例如,下面创建一段小时间隔单位时间范围: pd.date_range('2015-07-03', periods=8, freq='H') DatetimeIndex(['2015-07-03 00...-11', '2015-12', '2016-01', '2016-02'], dtype='period[M]', freq='M') 下面是以小时单位持续时间序列

    4.1K42

    在数据框架中创建计算列

    其正确计算方法类似于Power Query,对整个列执行操作,而不是循环每一行。基本上,我们不会在pandas中循环一列,而是对整个列执行操作。这就是所谓“矢量化”操作。...首先,我们需要知道该列中存储数据类型,这可以通过检查列中第一项来找到答案。 图4 很明显,该列包含是字符串数据。 将该列转换为datetime对象,这是Python中日期和时间标准数据类型。...pandas实际上提供了一种将字符串值转换为datetime数据类型便捷方法。...df['成立时间'] =pd.to_datetime(df['成立时间']) 一旦列为datetime数据类型,计算持续时间就变得很容易了。我们将导入datetime库来处理日期和时间。...处理数据框架中NAN或Null值 单元格空时,pandas将自动其指定NAN值。我们需要首先考虑这些值,因为在大多数情况下,pandas不知道如何处理它们。

    3.8K20

    基础教程:用Python提取出租车GPS数据中OD行程信息

    本文知乎网友咨询,经同意后发布。 在本文中,我们将探讨如何使用Python和Pandas库来提取出租车行程数据。这个过程涉及到数据清洗、行程识别、以及行程信息提取等多个步骤。...每当检测到行程开始时,记录下起始时间和位置;行程结束时,记录下结束时间和位置,并将这段行程信息存储起来。...") trips_22396 3、进一步筛选数据 (1)筛选行程时间大于1分钟数据 # 计算行程时间 trips['TripTime'] = (trips['EndTime'] - trips['StartTime...']).dt.total_seconds() / 60 # 分钟 # 选择行程时间大于等于1分钟行程 trips = trips[trips['TripTime'] >= 1] len(trips)...这些信息不仅可以用于交通流量分析、城市规划等领域,也可以为出租车公司提供运营优化依据。Python和Pandas数据处理和分析提供了强大工具,使得从大规模数据中提取有用信息成为可能。

    64210

    【Python环境】Python中结构化数据分析利器-Pandas简介

    这篇文章会介绍一些Pandas基本知识,偷了些懒其中采用例子大部分会来自官方10分钟Pandas。我会加上个人理解,帮助大家记忆和学习。...或者数据库进行类比,DataFrame中每一行是一个记录,名称为Index一个元素,而每一列则为一个字段,是这个记录一个属性。...DataFrame转换为其他类型 df.to_dict(outtype='dict') outtype参数‘dict’、‘list’、‘series’和‘records’。...、B行标签,C列标签将D列值汇总求和pd.crosstab(rows = ['A', 'B'], cols = ['C'], values = 'D')#A、B行标签,C列标签将D列值汇总求和...pandas提供to_datetime方法将代表时间字符转化为Timestamp对象: s = '2013-09-16 21:00:00'ts = pd.to_datetime(s) 有时我们需要处理时区问题

    15.1K100

    时间序列

    (['2020-5-19','2020-5-20','2020-5-21','2020-5-22']) #创建一个时间行索引,数据从1到4 DataFrame 表格型数据。...) ] #选取成交时间2020-5-20以前订单 df[df["成交时间"] < datetime(2020,5,20) ] #选取成交时间2020-5-20到2020-5-22之间订单 df...Python中实现时间偏移方式有两种: 第一种借助 timedelta(该对象包含天数、秒、微秒三个等级,所以只能偏移天数、秒、微秒单位时间) 第二种是用Pandas日期偏移量(date offset...) (1)timedelta timedelta只支持 天、秒、微妙 单位时间运算,若是其他单位时间运算,则需要换算成天、秒、微妙三种单位一种方可进行偏移。...1) #往后推10秒 date + timedelta(seconds = 10) (2)date offset date offset 可直接实现天、小时、分钟单位时间偏移,不需要换算,相比timedelta

    2K10

    一文带你快速入门Python | 初识Pandas

    作者:吹牛Z 本文自公众号:数据不吹牛 这是Python数据分析实战基础第一篇内容,主要是和Pandas来个简单邂逅。已经熟练掌握Pandas同学,可以加快手速滑动浏览或者直接略过本文。...它提供了两种类型数据结构,分别是DataFrame和Series,我们可以简单粗暴把DataFrame理解Excel里面的一张表,而Series就是表中一列,后面学习和用到所有Pandas骚操作...2、 数值型 数值型数据,常见操作是计算,分为与单个值运算,长度相等列运算。 案例数据例,源数据访客数我们是知道,现在想把所有渠道访客都加上10000,怎么操作呢? ?...案例数据例,我们这些渠道数据,是在2019年8月2日提取,后面可能涉及到其他日期渠道数据,所以需要加一列时间予以区分,在EXCEL中常用时间格式是'2019-8-3'或者'2019/8/3',...在实际业务中,一些时候PANDAS会把文件中日期格式字段读取字符串格式,这里我们先把字符串'2019-8-3'赋值给新增日期列,然后用to_datetime()函数将字符串类型转换成时间格式: ?

    1.3K01

    Pandasdatetime数据类型

    microseconds=546921) 将pandas数据转换成datetime 1.to_datetime函数 Timestamp是pandas用来替换python datetime.datetime...类型 某些场景下, (比如从csv文件中加载进来数据), 日期时间数据会被加载成object类型, 此时需要手动把这个字段转换成日期时间类型 可以通过to_datetime方法把Date列转换为...这一列数据可以通过日期运算重建该列 疫情爆发第一天(数据集中最早一天)是2014-03-22。...closing_year # 2000,2 2001,4 2002,11 2003,3 2004,4 2007,3 2008,25 2009,140 2010,157 2011,92 基于日期数获取数据子集 先将第一列数据处理...,可用于计时特定代码段) 总结: Pandas中,datetime64用来表示时间序列类型 时间序列类型数据可以作为行索引,对应数据类型是DatetimeIndex类型 datetime64类型可以做差

    13410

    Python批量处理Excel数据后,导入SQL Server

    ; 有一列数据需要进行日期格式转换。...导入包: import pandas as pd from datetime import date, timedelta, datetime import time import os from sqlalchemy...” 这个有一定难度,excel里直接很简单,直接选中需要数据,然后在开始-数据格式栏选择短日期即可。...代码如下,首先将字符串按格式转变成日期类型数据,原数据06/Jan/2022 12:27(数字日/英文月/数字年 数字小时:数字分钟),按日期格式化符号解释表中对应关系替换即可。...我想法是,首先调用pandassort_values函数将所有数据根据日期列进行升序排序,然后,调用drop_duplicates函数指定按SOID列进行去重,并指定keep值last,表示重复数据中保留最后一行数据

    4.6K30

    Python报表自动化

    单位字段放在透视表行区域。 ? 处理到单位字段时我们会发现,表中每一笔贷款都有三家网点进行业绩分成。我们需要将分成比例也考虑进去。所以透视表中行区域及值区域不能简单放入单位1和贷款金额。...这样计算分成贷款金额时就只需要将新表贷款金额及合并成一列分成比例进行相乘。得出每个分成比例对于分成贷款金额,最后将分成贷款金额按照单位及用途进行数据透视。...这里我们通过判断日期是否2019年(大于2018-12-31)返回TRUE/FALSE进行选择判断。这种利用判断条件来选择数据方式叫布尔索引。...3.4数据追加合并 接下来我们需求是将三个分离表进行纵向拼接。在我们例子中,需要将三个表单位及分成比例字段追加在同一列。但是目前三个新表中单位及分成比例字段名字是不一致,不能直接追加。...而单位及分成比例只有2041行数据非空。其他行为空值。根据业务逻辑可知,如果单位列数据空,则一定不存在分成比例,即:分成比例也空。那么该条记录就是无效。因此可以直接将其删除。

    4.1K41

    Pandas案例精进 | 无数据记录日期如何填充?

    这样不就可以出来我想要结果了吗~ 说干就干,先来填充一个日期序列了来~ # 习惯性导入包 import pandas as pd import numpy as np import time,datetime...解决问题 如何将series object类型日期改成日期格式呢? 将infer_datetime_format这个参数设置True 就可以了,Pandas将会尝试转换为日期类型。...具体语法如下所示: df["日期"] = pd.to_datetime(df["日期"], infer_datetime_format=True) 另外,我还百度过设置errors 参数 ='coerce...Pandas会遇到不能转换数据就会赋值NaN,但这个方法并不太适用于我这个需求。...['搜狗提交量'].fillna(0) df_new 这样就可以完成了,我每次需要十几分钟工作。

    2.6K00

    使用时间特征使让机器学习模型更好地工作

    来源: DeepHub IMBA本文约2300字,建议阅读8分钟在本文中,通过一个实际示例讨论如何从 DateTime 变量中提取新特征提高机器学习模型准确性。...特征工程是构建机器学习模型最重要方面之一。在本文中,我将通过一个实际示例讨论如何从 DateTime 变量中提取新特征提高机器学习模型准确性。...年 必须预测未来值时,年份作为输入特征并不是很有用。但是为了完整起见本篇文章还是将描述如何将其作为输入特征加以利用。 如果数据集包含多年,则可以使用年份。...如果 PandasDateTime 列,则可以按如下方式提取年份: df['year'] = df['date_time'].dt.year 从时间中提取特征 根据数据集粒度,可以从 DateTime...但是,最频繁时间特征是以小时单位。时间特征应分割正弦和余弦反映数据循环性(例如 23:59 接近 0:01)。

    1.7K10
    领券