macpie.pandas.flatten_multiindex#

macpie.pandas.flatten_multiindex(df: DataFrame, axis: int = 0, delimiter: str = '_')#

Flatten (i.e. collapse) the multiindex on a particular axis using a delimiter.

Parameters:
dfDataFrame
axis{0 or ‘index’, 1 or ‘columns’}, default 0

Whether to flatten labels from the index (0 or ‘index’) or columns (1 or ‘columns’).

delimiterstr, default is “_”

String to join multiindex levels on

Examples

Basic usage

>>> df = pd.DataFrame({"PIDN": [1, 2], "InstrID": [3, 4]})
>>> df.columns = pd.MultiIndex.from_product([["CDR"], df.columns])
>>> df
   CDR
  PIDN InstrID
0    1       3
1    2       4
>>> df.mac.flatten_multiindex(axis=1)
>>> df
   CDR_PIDN  CDR_InstrID
0         1            3
1         2            4