📌  相关文章
📜  Python|熊猫 tseries.offsets.BusinessDay.rollforward

📅  最后修改于: 2022-05-13 01:54:24.918000             🧑  作者: Mango

Python|熊猫 tseries.offsets.BusinessDay.rollforward

Dateoffsets 是一种标准的日期增量,用于 Pandas 中的日期范围。就我们传入的关键字参数而言,它的工作方式与 relativedelta 完全相同。DateOffets 的工作方式如下,每个偏移量指定一组符合 DateOffset 的日期。例如, Bday将此集定义为工作日 (MF) 的日期集。

可以创建 DateOffsets 以将日期向前移动给定数量的有效日期。例如,可以将Bday(2)添加到日期以将其向前移动两个工作日。如果日期不是从有效日期开始的,则首先将其移至有效日期,然后创建偏移量。

Pandas tseries.offsets.BusinessDay.rollforward()函数仅在没有偏移时将提供的日期向前滚动到下一个偏移量。

示例 #1:如果不在偏移量上,则使用pandas.tseries.offsets.BusinessDay.rollforward()函数将提供的日期前滚到下一个偏移量。

# importing pandas as pd
import pandas as pd
  
# Creating Timestamp
ts = pd.Timestamp('2019-10-10 07:15:11')
  
# Create an offset of 5 Business days
bd = pd.tseries.offsets.BusinessDay(n = 5)
  
# Print the Timestamp
print(ts)
  
# Print the DateOffset
print(bd)

输出 :

现在我们将工作日偏移量添加到给定的时间戳对象以增加日期时间值。如果不在偏移量上,我们还将提供的日期向前滚动到下一个偏移量。

# Adding the Business day offset to the given timestamp
new_timestamp = ts + bd
  
# Print the updated timestamp
print(new_timestamp)
  
# roll the provided date forward if not
# on the offset
date = bd.rollforward(dt = pd.to_datetime('2010-02-13'))
  
# print the date
print(date)

输出 :

正如我们在输出中看到的,我们成功创建了 5 个工作日的偏移量并将其添加到给定的时间戳中。如果不在偏移量上,我们还将提供的日期向前滚动到下一个偏移量。

示例 #2:如果不在偏移量上,则使用pandas.tseries.offsets.BusinessDay.rollforward()函数将提供的日期向前滚动到下一个偏移量。

# importing pandas as pd
import pandas as pd
  
# Creating Timestamp
ts = pd.Timestamp('2019-10-10 07:15:11')
  
# Create an offset of 10 Business days and 10 hours
bd = pd.tseries.offsets.BusinessDay(offset = datetime.timedelta(days = 10, hours = 10))
  
# Print the Timestamp
print(ts)
  
# Print the DateOffset
print(bd)

输出 :

现在我们将工作日偏移量添加到给定的时间戳对象以增加日期时间值。如果不在偏移量上,我们还将提供的日期向前滚动到下一个偏移量。

# Adding the Business day offset to the given timestamp
new_timestamp = ts + bd
  
# Print the updated timestamp
print(new_timestamp)
  
# roll the provided date forward if not
# on the offset
date = bd.rollforward(dt = pd.to_datetime('2010-02-13'))
  
# print the date
print(date)

输出 :

正如我们在输出中看到的,我们成功创建了 10 个工作日和 10 小时的偏移量,并将其添加到给定的时间戳中。如果不在偏移量上,我们还将提供的日期向前滚动到下一个偏移量。