龙空技术网

【Pandas数据处理实战】时间差的4种表达方式

白领服务工作室 57

前言:

如今小伙伴们对“日期表示方式”大约比较看重,大家都需要知道一些“日期表示方式”的相关知识。那么小编在网上网罗了一些关于“日期表示方式””的相关资讯,希望看官们能喜欢,各位老铁们一起来了解一下吧!

时间差是数据处理中常见的一种时间日期表现方式,也是时常要处理的一种数据类型。那么什么是时间差,怎么来表现时间差呢?

一、什么是时间差

比如:今天是2024年5月20日10点20分30秒,那么5秒前、15分钟后、1小时前、2天后、3天前,等等这些,都是一种时间差的表述方式,也就是说,时间差是一段时间间隔。另外,2个日期时间相减,结果也是时间差。

那么,如何在pandas中表示这个时间差数据呢?

二、在Pandas中表示时间差

方式1:使用datetime的timedelta

tm = pd.Timestamp(2024,5,20,10,20,30)print(tm)tm_new = tm + datetime.timedelta(hours=1.2)print(tm_new)

返回结果是:

2024-05-20 10:20:302024-05-20 11:32:30

方式2:使用pandas的Timedelta

tm = pd.Timestamp(2024,5,20,10,20,30)print(tm)tm_new = tm + pd.Timedelta('1.2h')print(tm_new)

返回结果同上。

tm = pd.Timestamp(2024,5,20,10,20,30)print(tm)tm_new = tm + pd.Timedelta('1.2h 3s')print(tm_new)

返回结果如下:

2024-05-20 10:20:302024-05-20 11:32:33

方式3:使用pandas的Period

tm = pd.Period( '2024-5-20',freq='D' )tm + 2输出结果  Period('2024-05-22', 'D')tm = pd.Period( '2024-5-20',freq='d' )tm - 2输出结果  Period('2024-05-18', 'D')
tm = pd.Period( '2024-5-20',freq='h' )tm + 2输出结果  Period('2024-05-20 02:00', 'h')

对于pd.Period时间日期类型,直接使用数字进行加减,此时数字就是时间差。

方式4:使用Pandas的tseries.offsets

tm = pd.Timestamp(2024,5,20,10,20,30)print(tm)new_tm = tm + oss.Hour(2)print(new_tm)输出结果如下所示:2024-05-20 10:20:302024-05-20 12:20:30
tm = pd.Timestamp(2024,5,20,10,20,30)print(tm)new_tm = tm + oss.MonthEnd()print(new_tm)

标签: #日期表示方式