piper.verbs.flatten_names

piper.verbs.flatten_names(df: pandas.core.frame.DataFrame, join_char: str = '_', remove_prefix=None)pandas.core.frame.DataFrame[source]

Flatten multi-index column headings

Examples

from piper.defaults import *

%%piper

sample_data()
>> group_by(['countries', 'regions'])
>> summarise(totalval1=('values_1', 'sum'))
>> assign(mike=lambda x: x.totalval1 * 50,
          eoin=lambda x: x.totalval1 * 100)
>> unstack()
>> flatten_names()
>> select(('totalval1_East', 'totalval1_West'))
>> head(tablefmt='plain')

countries      totalval1_East    totalval1_North    totalval1_South    totalval1_West
France                   2170               2275               2118              4861
Germany                  1764               2239               1753              1575
Italy                    3023               1868               2520              2489
Norway                   3741               2633               1670              1234
Parameters
  • df – pd.DataFrame - dataframe

  • join_char – delimitter joining ‘prefix’ value(s) to be removed.

  • remove_prefix – string(s) (delimitted by pipe ‘|’) e.g. =’mike|eoin|totalval1’

Returns

Return type

A pandas dataframe