piper.custom.factorize

piper.custom.factorize(series: pandas.core.series.Series, categories: Optional[List] = None, ordered: int = False)pandas.core.series.Series[source]

factorize / make column a categorical dtype

Parameters
  • series – pd.Series object to be converted to categorical

  • categories – list of unique category values within pd.Series

  • ordered – If true, categorical is ordered.

Returns

Returned series with categorical data type

Return type

pd.Series

Examples

cat_order = ['Tops & Blouses', 'Beachwear',
             'Footwear', 'Jeans', 'Sportswear']

%%piper
sample_sales()
>> assign(product=lambda x: factorize(x['product'],
                                      categories=cat_order,
                                      ordered=True))
>> group_by(['location', 'product'])
>> summarise(Total=('actual_sales', 'sum'))
>> unstack()
>> flatten_cols(remove_prefix='Total')
>> head(tablefmt='plain')

location Tops & Blouses Beachwear  Footwear   Jeans Sportswear
London           339236    388762    274674  404440     291561
Milan            523052    368373    444624  364343     319199
Paris            481787    464725    383093  178117     150222