pandas_utils.clean_names()

Clean DataFrame column names by normalizing whitespace and adjusting case.

Usage

Source

pandas_utils.clean_names(df: gpd.GeoDataFrame, case_type: str = ...) -> gpd.GeoDataFrame
 
pandas_utils.clean_names(df: pd.DataFrame, case_type: str = ...) -> pd.DataFrame

Parameters

df: pd.DataFrame | gpd.GeoDataFrame

The DataFrame whose column names to clean.

case_type: str = "lower"

How to transform the case of column names. One of:

  • "lower" : all characters lowercase (default)
  • "upper" : all characters uppercase
  • "snake" : CamelCase/camelCase to snake_case
  • "preserve" : no case change, only spaces replaced

Returns

df: pd.DataFrame | gpd.GeoDataFrame
A new DataFrame with cleaned column names. The original is not mutated.

Raises

ValueError
If case_type is not one of the accepted values, or if two source columns normalize to the same name (which would silently drop a column).

Examples

>>> import pandas as pd
>>> df = pd.DataFrame({"Aloha": [1], "Bell Chart": [2], "CamelCase": [3]})
>>> clean_names(df)

aloha bell_chart camelcase 0 1 2 3

>>> clean_names(df, case_type="snake")

aloha bell_chart camel_case 0 1 2 3