ual.html)
    * [ polars.testing.assert_frame_not_equal ](../../api/polars.testing.assert_frame_not_equal.html)
    * [ polars.testing.assert_series_equal ](../../api/polars.testing.assert_series_equal.html)
    * [ polars.testing.assert_series_not_equal ](../../api/polars.testing.assert_series_not_equal.html)
    * [ polars.testing.parametric.dataframes ](../../api/polars.testing.parametric.dataframes.html)
    * [ polars.testing.parametric.series ](../../api/polars.testing.parametric.series.html)
    * [ polars.testing.parametric.column ](../../api/polars.testing.parametric.column.html)
    * [ polars.testing.parametric.columns ](../../api/polars.testing.parametric.columns.html)
    * [ polars.testing.parametric.create_list_strategy ](../../api/polars.testing.parametric.create_list_strategy.html)
    * [ polars.testing.parametric.load_profile ](../../api/polars.testing.parametric.load_profile.html)
    * [ polars.testing.parametric.set_profile ](../../api/polars.testing.parametric.set_profile.html)

  * [ Metadata ](../../metadata.html) __
    * [ polars.build_info ](../../api/polars.build_info.html)
    * [ polars.get_index_type ](../../api/polars.get_index_type.html)
    * [ polars.show_versions ](../../api/polars.show_versions.html)
    * [ polars.thread_pool_size ](../../api/polars.thread_pool_size.html)
    * [ polars.threadpool_size ](../../api/polars.threadpool_size.html)

  * [ __ ](../../../index.html)
  * [ Python API reference ](../../index.html)
  * __
  * [ Temporal ](../temporal.html)
  * polars.Expr.... 

#  polars.Expr.dt.add_business_days  #

Expr.dt.  add_business_days  (

     _ n  :  [ int  ](https://docs.python.org/3/library/functions.html#int "\(in Python v3.12\)") |  IntoExpr  _ , 
     _ week_mask  :  Iterable  [  [ bool  ](https://docs.python.org/3/library/functions.html#bool "\(in Python v3.12\)") ]  =  (True,  True,  True,  True,  True,  False,  False)  _ , 
     _ holidays  :  Iterable  [  dt.date  ]  =  ()  _ , 
     _ roll  :  Roll  =  'raise'  _ , 
)  →  Expr  [ [source]  ](https://github.com/pola-rs/polars/blob/main/py-
polars/polars/expr/datetime.py#L43-L158) #

    

Offset by ` n  ` business days.

Parameters  :

    

**n**

    

Number of business days to offset by. Can be a single number of an expression.

**week_mask**

    

Which days of the week to count. The default is Monday to Friday. If you
wanted to count only Monday to Thursday, you would pass ` (True,  True,  True,
True,  False,  False,  False)  ` .

**holidays**

    

Holidays to exclude from the count. The Python package [ python-holidays
](https://github.com/vacanza/python-holidays) may come in handy here. You can
install it with ` pip  install  holidays  ` , and then, to get all Dutch
holidays for years 2020-2024:

    
    
    import holidays
    
    my_holidays = holidays.country_holidays("NL", years=range(2020, 2025))
    

and pass ` holidays=my_holidays  ` when you call ` business_day_count  ` .

**roll**

    

What to do when the start date lands on a non-business day. Options are:

  * ` 'raise'  ` : raise an error 

  * ` 'forward'  ` : move to the next business day 

  * ` 'backward'  ` : move to the previous business day 

Returns  :

    

Expr

    

Data type is preserved.

Examples

    
    
    >>> from datetime import date
    >>> df = pl.DataFrame({"start": [date(2020, 1, 1), date(2020, 1, 2)]})
    >>> df.with_columns(result=pl.col("start").dt.add_business_days(5))
    shape: (2, 2)
    ┌────────────┬────────────┐
    │ start      ┆ result     │
    │ ---        ┆ ---        │
    │ date       ┆ date       │
    ╞════════════╪════════════╡
    │ 2020-01-01 ┆ 2020-01-08 │
    │ 2020-01-02 ┆ 2020-01-09 │
    └────────────┴────────────┘
    

You can pass a custom weekend - for example, if you only take Sunday off:

    
    
    >>> week_mask = (True, True, True, True, True, True, False)
    >>> df.with_columns(result=pl.col("start").dt.add_business_days(5, week_mask))
    shape: (2, 2)
    ┌─────────