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

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

Python|熊猫 tseries.offsets.CustomBusinessDay.rollforward

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

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

Pandas tseries.offsets.CustomBusinessDay.rollforward()函数滚动提供日期向前到下一个偏移量,如果不是偏移量。

示例 #1:使用pandas.tseries.offsets.CustomBusinessDay.rollforward()函数来前滚给定的时间戳(如果它不在偏移量上)。

# importing pandas as pd
import pandas as pd
  
# Creating Timestamp
ts = pd.Timestamp('2019-4-23 11:15:00')
  
# Create an offset
cbd = pd.tseries.offsets.CustomBusinessDay(weekmask = 'Mon Tue Wed')
  
# Print the Timestamp
print(ts)
  
# Print the Offset
print(cbd)

输出 :

现在我们将偏移量添加到给定的时间戳对象以增加日期时间值。如果它不在偏移量上,我们还将前滚给定的时间戳。

# Adding the offset to the given timestamp
new_timestamp = ts + cbd
  
# Print the updated timestamp
print(new_timestamp)
  
# roll forward if the given timestamp
# is not on offset
result = cbd.rollforward(pd.Timestamp('2019-4-21 11:15:00'))
  
# print the result
print(result)

输出 :

正如我们在输出中看到的,我们已经成功创建了一个偏移量并将其添加到给定的时间戳中。我们还前滚了给定的时间戳,因为它没有偏移。

示例 #2:使用pandas.tseries.offsets.CustomBusinessDay.rollforward()函数来前滚给定的时间戳(如果它不在偏移量上)。

# importing pandas as pd
import pandas as pd
  
# Creating Timestamp
ts = pd.Timestamp('2019-4-23 11:15:00')
  
# Create an offset
cbd = pd.tseries.offsets.CustomBusinessDay(n = 3, weekmask = 'Mon Tue Wed Thu')
  
# Print the Timestamp
print(ts)
  
# Print the Offset
print(cbd)

输出 :

现在我们将偏移量添加到给定的时间戳对象以增加日期时间值。如果它不在偏移量上,我们还将前滚给定的时间戳。

# Adding the offset to the given timestamp
new_timestamp = ts + cbd
  
# Print the updated timestamp
print(new_timestamp)
  
# roll forward if the given timestamp
# is not on offset
result = cbd.rollforward(pd.Timestamp('2019-4-21 11:15:00'))
  
# print the result
print(result)

输出 :

正如我们在输出中看到的,我们已经成功创建了一个偏移量并将其添加到给定的时间戳中。我们还前滚了给定的时间戳,因为它没有偏移。