Python | Панды tseries.offsets.CustomBusinessDay.rollback

Опубликовано: 27 Марта, 2022

Смещения даты - это стандартный вид приращения даты, используемый для диапазона дат в Pandas. Он работает точно так же, как relativedelta с точки зрения аргументов ключевого слова, которые мы передаем. DateOffets работает следующим образом, каждое смещение определяет набор дат, соответствующих DateOffset. Например, Bday определяет этот набор как набор дат, являющихся рабочими днями (MF).

DateOffsets могут быть созданы для перемещения дат вперед на заданное количество допустимых дат. Например, Bday (2) можно добавить к дате, чтобы переместить ее на два рабочих дня вперед. Если дата не начинается с действительной даты, сначала она перемещается на действительную дату, а затем создается смещение.

Pandas tseries.offsets.CustomBusinessDay.rollback() function roll provided date backward to next offset only if not on offset.

Syntax: pandas.tseries.offsets.CustomBusinessDay.rollback(dt)

Parameter :
dt : date

Returns : rollback if not on offset

Example #1: Use pandas.tseries.offsets.CustomBusinessDay.rollback() function to rollback the given timestamp if it is not on offset.

# 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)

Выход :

Now we will add the offset to the given timestamp object to increment the datetime value. We will also roll back the given timestamp if it is not on offset.

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

Выход :

Как видно из выходных данных, мы успешно создали смещение и добавили его к заданной временной метке. У нас также есть откат данной временной метки, поскольку она не находится в смещении.

Example #2: Use pandas.tseries.offsets.CustomBusinessDay.rollback() function to rollback the given timestamp if it is not on offset.

# 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)

Выход :

Now we will add the offset to the given timestamp object to increment the datetime value. We will also roll back the given timestamp if it is not on offset.

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

Выход :

Как видно из выходных данных, мы успешно создали смещение и добавили его к заданной временной метке. У нас также есть откат данной временной метки, поскольку она не находится в смещении.

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.