piper.verbs.clean_names

piper.verbs.clean_names(df: pandas.core.frame.DataFrame, case: str = 'snake', title: bool = False)pandas.core.frame.DataFrame[source]

Clean column names, strip blanks, lowercase, snake_case.

Also removes awkward characters to allow for easier manipulation. (optionally ‘title’ each column name.)

Examples

column_list = ['dupe**', 'Customer   ', 'mdm no. to use', 'Target-name   ',
               '     Public', '_  Material', 'Prod type', '#Effective     ',
               'Expired', 'Price%  ', 'Currency$']

df = pd.DataFrame(None, columns=column_list)
df.columns.tolist()

['dupe**', 'Customer   ', 'mdm no. to use', 'Target-name   ', '     Public',
 '_  Material', 'Prod type', '#Effective     ', 'Expired', 'Price%  ', 'Currency$']
df = clean_names(df)
df.columns.tolist()

['dupe', 'customer', 'mdm_no_to_use', 'target_name', 'public', 'material',
 'prod_type', 'effective', 'expired', 'price', 'currency']
df = clean_names(df, case='report', title=True)
df.columns.tolist()

['Dupe', 'Customer', 'Mdm No To Use', 'Target Name', 'Public', 'Material',
 'Prod Type', 'Effective', 'Expired', 'Price', 'Currency']
Parameters
  • df – pandas dataframe

  • case

    requested case format:
    • ’snake’: this_is_snake_case

    • ’camel’: thisIsCamelCase (title=False)

    • ’camel’: ThisIsCamelCase (title=True)

    • ’report’: this is report format (title=False)

    • ’report’: This Is Report Format (title=True)

  • title – default False. If True, titleize column values

Returns

Return type

pandas DataFrame object