Flattening Hierarchical Index Columns
To flatten a hierarchical index in the columns of a Pandas DataFrame, follow these steps:
1. Set Columns to Top Level:
df.columns = df.columns.get_level_values(0)
This will set the top level of the hierarchical index as the new column names.
2. Join MultiIndex into Single Index (Optional):
If you want to further combine the MultiIndex into a single index, you can do the following:
df.columns = [' '.join(col).strip() for col in df.columns.values]
This will join the column names using space as a separator, stripping any leading or trailing whitespace.
Example:
Consider the following DataFrame with a hierarchical index in columns:
df = pd.DataFrame({'s_PC': [1, 0, 1], 's_CL': [0, 0, 10]}, index = pd.MultiIndex.from_tuples([ ('day', 1),('day', 2),('day', 3) ]), columns = pd.MultiIndex.from_tuples([ ('USAF', ''),('WBAN', ''),('year', 1993) ]))
Applying the flattening operation:
# Set columns to top level df.columns = df.columns.get_level_values(0) # Join MultiIndex into single index df.columns = [' '.join(col).strip() for col in df.columns.values]
Output:
USAF WBAN year day s_PC s_CL 0 702 265 1993 1 1 0 1 702 265 1993 2 0 0 2 702 265 1993 3 1 10
The hierarchical index has been flattened into a single index.
The above is the detailed content of How to Flatten a Hierarchical Column Index in Pandas?. For more information, please follow other related articles on the PHP Chinese website!