脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - pandas 时间偏移的实现

pandas 时间偏移的实现

2021-12-17 00:35不思量自难忘 Python

时间偏移就是在指定时间往前推或者往后推一段时间,即加减一段时间之后的时间,本文使用Python实现,感兴趣的可以了解一下

时间偏移就是在指定时间往前推或者往后推一段时间,即加减一段时间之后的时间

python中主要有2种方式:一种是借助timedelta,另一种是pandas中的日期偏移量date offset

1 timedelta

1.1 时间偏移单位为周

1.1.1 往后推1周

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date + timedelta(weeks=1))

result:

2007-05-19 18:53:32

1.1.2 往前推1周

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date - timedelta(weeks=1))

result:

2007-05-05 18:53:32

1.2 时间偏移单位为天

1.2.1 往后推1天

?
1
2
3
4
from datetime import timedelta, datetime
date = datetime(2007, 5, 12, 18, 53, 32)
print(date + timedelta(days=1))

result:

2007-05-13 18:53:32

1.2.2 往前推1天

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date - timedelta(days=1))

result:

2007-05-11 18:53:32

1.3 时间偏移单位为小时

1.3.1 往后推1小时

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date + timedelta(hours=1))

result:

2007-05-12 19:53:32

1.3.2 往前推1小时

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date - timedelta(hours=1))

result:

2007-05-12 17:53:32

1.4 时间偏移单位为分钟

1.4.1 往后推1分钟

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date + timedelta(minutes=1))

result:

2007-05-12 18:54:32

1.4.2 往前推1分钟

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date - timedelta(minutes=1))

result:

2007-05-12 18:52:32

1.5 时间偏移单位为秒

1.5.1 往后推1秒

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date + timedelta(seconds=1))

result:

2007-05-12 18:53:33

1.5.2 往前推1秒

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date - timedelta(seconds=1))

result:

2007-05-12 18:53:31

1.6 时间偏移单位为毫秒

1.6.1 往后推1毫秒

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32, 987)
print(date + timedelta(milliseconds=1))

result:

2007-05-12 18:53:32.001987

1.6.2 往前推1毫秒

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32, 987)
print(date - timedelta(milliseconds=1))

result:

2007-05-12 18:53:31.999987

1.7 时间偏移单位为微秒

1.7.1 往后推1微秒

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32, 987)
print(date + timedelta(microseconds=1))

result:

2007-05-12 18:53:32.000988

1.7.2 往前推1微秒

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32, 987)
print(date - timedelta(microseconds=1))

result:

2007-05-12 18:53:32.000986

2 date offset

?
1
2
3
4
from datetime import datetime
from pandas.tseries.offsets import Day
date = datetime(2007, 5, 12, 18, 53, 32, 987)
print(date + Day(1))

result:

2007-05-13 18:53:32.000987

2.1 时间偏移单位为天

2.1.1 往后推1天

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32)
print(date + Day(1))

result:

2007-05-13 18:53:32

2.1.2 往前推1天

?
1
2
date = datetime(2007, 5, 12, 18, 53, 32,)
print(date - Day(1))

result:

2007-05-11 18:53:32

其他时间单位与timedelta差不多,单位为周、小时、分钟、秒时只要将Day相应的换为Week, Hour, Minute, Second就可以。在此不一一列举。

到此这篇关于pandas 时间偏移的实现的文章就介绍到这了,更多相关pandas 时间偏移内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://juejin.cn/post/6993247212880789512

延伸 · 阅读

精彩推荐