piper.verbs.overlaps¶
-
piper.verbs.overlaps(df: pandas.core.frame.DataFrame, unique_key: Optional[Union[str, List[str]]] = None, start: str = 'effective', end: str = 'expiry', overlaps: str = 'overlaps') → pandas.core.frame.DataFrame[source]¶ Analyse dataframe rows with overlapping date periods
Examples
data = {'prices': [100, 200, 300], 'contract': ['A', 'B', 'A'], 'effective': ['2020-01-01', '2020-03-03', '2020-05-30'], 'expired': ['2020-12-31', '2021-04-30', '2022-04-01']} df = pd.DataFrame(data) overlaps(df, start='effective', end='expired', unique_key='contract') prices contract effective expired overlaps 0 100 A 2020-01-01 2020-12-31 True 1 200 B 2020-03-03 2021-04-30 False 2 300 A 2020-05-30 2022-04-01 True
- Parameters
df – dataframe
unique_key – column(s) that uniquely identify rows
start – column that defines start/effective date, default ‘effective_date’
end – column that defines end/expired date, default ‘expiry_date’
overlaps – default ‘overlaps’. Name of overlapping column containing True/False values
- Returns
- Return type
pandas dataframe with boolean based overlap column