chart_me.pandas_util

Collection of panda manipulations - leverage prior to charts

This big idea is to keep pandas operations isolated from visuals keep Altair logic very simple if possible

Functions

pd_group_me(→ pandas.DataFrame)

A generic function to do group by aggregation in pandas

pd_truncate_date(→ pandas.Series)

Utility to make dates YY--MM--01 to Strings

Module Contents

chart_me.pandas_util.pd_group_me(df: pandas.DataFrame, cols: List[str] | str, agg_dict: Dict, is_temporal: bool = False, make_long_form=False) pandas.DataFrame[source]

A generic function to do group by aggregation in pandas

helpful url: https://jamesrledoux.com/code/group-by-aggregate-pandas WARNING: Hard code logic to return var_name to “measures”

Parameters:
  • df – data

  • cols – grouping columns

  • agg_dict – aggregation dictionary: e.g. {‘Age’: [‘mean’, ‘min’, ‘max’]}

  • is_temporal – boolean flag used to set ‘order’ by Dates versus Counts

  • make_long_form – leverages reset_index and defaults

Returns:

Returns tidy dataframe with default names

Return type:

pd.DataFrame

chart_me.pandas_util.pd_truncate_date(df: pandas.DataFrame, col: str) pandas.Series[source]

Utility to make dates YY–MM–01 to Strings

Helpful urls: https://predictivehacks.com/?all-tips=how-to-truncate-dates-to-month-in-pandas # noqa: E501 Helpful urls: https://pandas.pydata.org/docs/reference/api/pandas.Series.dt.to_period.html # noqa: E501

Parameters:
  • df – dataframe

  • col – column name of date to truncate

Returns:

returns a Series of “string” datatypes

Return type:

pd.Series