pandas datetime 获取当前时间之前一个月的时间
  X5zJxoD00Cah 2023年11月24日 26 0

在Python中,我们可以使用pandas和datetime模块来获取当前日期之前一个月的时间。以下是一个示例:

使用pandas:

import pandas as pd
from pandas.tseries.offsets import DateOffset

# 获取当前日期
now = pd.to_datetime('today')

# 计算一个月前的日期
one_month_ago = now - DateOffset(months=1)

print(one_month_ago)

使用datetime:

import datetime
from dateutil.relativedelta import relativedelta

# 获取当前日期
now = datetime.datetime.now()

# 计算一个月前的日期
one_month_ago = now - relativedelta(months=1)

print(one_month_ago)

这两段代码都会输出当前日期之前一个月的日期。注意,由于每个月的天数不同,所以"一个月前"的具体日期可能会有所不同。例如,如果今天是3月31日,那么一个月前可能是2月28日或2月29日,取决于是否是闰年。具体的日期计算规则可以参考pandas的官方文档python-dateutil的官方文档



pandas.tseries.offsets.DateOffset是Pandas中用于创建日期范围的标准日期增量²。它的工作方式与relativedelta相同,我们可以传入关键字参数来使用它²。

每个偏移量都指定了一组符合DateOffset的日期。例如,Bday定义了这组日期为工作日(周一至周五)²。DateOffsets可以创建以将日期向前移动给定数量的有效日期²。例如,可以将Bday(2)添加到日期中,将其向前移动两个工作日²。如果日期没有从有效日期开始,那么首先会将其移动到有效日期,然后创建偏移量²。

pandas.tseries.offsets.DateOffset函数的语法和参数如下²:

pandas.tseries.offsets.DateOffset(n=1, normalize=False, **kwds)
  • n:偏移量代表的时间周期数²。
  • normalize:是否将DateOffset加法的结果向下舍入到前一个午夜²。
  • **kwds:添加到或替换偏移量值的时间参数。添加到偏移量的参数(如Timedelta):年、月等²。

例如,以下是如何使用pandas.tseries.offsets.DateOffset函数创建2天的日期偏移量,并将其添加到给定的时间戳对象中,将日期向前移动2天²:

import pandas as pd
ts = pd.Timestamp('2019-10-10 07:15:11')
do = pd.tseries.offsets.DateOffset(n = 2)
new_timestamp = ts + do
print(new_timestamp)  # Output: 2019-10-12 07:15:11

同样,以下是如何创建10天和2小时的日期偏移量,并将其添加到给定的时间戳对象中,将日期向前移动10天和2小时²:

import pandas as pd
ts = pd.Timestamp('2019-10-10 07:15:11')
do = pd.tseries.offsets.DateOffset(days = 10, hours = 2)
new_timestamp = ts + do
print(new_timestamp)  # Output: 2019-10-20 09:15:11


源: 与必应的对话, 2023/11/23

(1) Python | Pandas tseries.offsets.DateOffset - GeeksforGeeks. https://www.geeksforgeeks.org/python-pandas-tseries-offsets-dateoffset/.

(2) pandas.tseries.offsets.DateOffset — pandas 2.1.3 documentation. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.tseries.offsets.DateOffset.html.

(3) Python | Pandas tseries.offsets.DateOffset.onOffset. https://www.geeksforgeeks.org/python-pandas-tseries-offsets-dateoffset-onoffset/.

(4) python - Pandas Using Frequencies to Offset Date - Stack Overflow. https://stackoverflow.com/questions/69183162/pandas-using-frequencies-to-offset-date.

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月24日 0

暂无评论

推荐阅读
  X5zJxoD00Cah   2023年12月11日   26   0   0 知乎Python迭代器
  X5zJxoD00Cah   2023年12月12日   34   0   0 Python.net
X5zJxoD00Cah