📌  相关文章
📜  Python|熊猫 tseries.offsets.DateOffset.onOffset

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

Python|熊猫 tseries.offsets.DateOffset.onOffset

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

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

Pandas tseries.offsets.DateOffset.onOffset()函数返回一个布尔值。如果给定的 DateOffset 与传递的日期相比是 onOffset ,则返回True ,否则返回False

示例 #1:使用pandas.tseries.offsets.DateOffset.onOffset()函数检查传递的日期是否为给定 DateOffset 的 onOffset。

# importing pandas as pd
import pandas as pd
  
# importing the to_offset function
from pandas.tseries.frequencies import to_offset
  
# Creating Timestamp
ts = pd.Timestamp('2019-10-10 07:15:11')
  
# Create the DateOffset of 2 day
do = to_offset(freq = '2D')
  
# Print the Timestamp
print(ts)
  
# Print the DateOffset
print(do)

输出 :

现在我们将 dateoffset 添加到给定的时间戳对象以增加 datetime 值。我们还将检查给定的 DateOffset 是否是给定日期的 onOffset。

# Adding the dateoffset to the given timestamp
new_timestamp = ts + do
  
# Print the updated timestamp
print(new_timestamp)
  
# Now we will check if the given DateOffset
# is onOffset from the passed date
print(do.onOffset())

输出 :

正如我们在输出中看到的那样,该函数返回了True ,表明给定的 DateOffset 是从传递的日期开始的 onOffset。

示例 #2:使用pandas.tseries.offsets.DateOffset.onOffset()函数检查传递的日期是否为给定 DateOffset 的 onOffset。

# importing pandas as pd
import pandas as pd
  
# importing the to_offset function
from pandas.tseries.frequencies import to_offset
  
# Creating Timestamp
ts = pd.Timestamp('2019-10-10 07:15:11')
  
# Create the DateOffset
do = to_offset(freq = 'W-SUN')
  
# Print the Timestamp
print(ts)
  
# Print the DateOffset
print(do)

输出 :

现在我们将 dateoffset 添加到给定的时间戳对象以增加 datetime 值。我们还将检查给定的 DateOffset 是否是给定日期的 onOffset。

# Adding the dateoffset to the given timestamp
new_timestamp = ts + do
  
# Print the updated timestamp
print(new_timestamp)
  
# Now we will check if the given DateOffset
# is onOffset from the passed date
print(do.onOffset())

输出 :

正如我们在输出中看到的那样,该函数返回了False ,表明给定的 DateOffset 不是从传递日期开始的 onOffset。