Flattening hierarchical index using to_records() function
In this example, we use the to_records() function of the pandas dataframe which converts all the rows in the dataframe as an array of tuples. This array of tuples is then passed to pandas.DataFrame function to convert the hierarchical index as flattened columns.
Syntax: pandas.DataFrame.to_records(index=True, column_dtypes=None)
Explanation:
- index – creates an index in resulting array
- column_dtypes – sets the columns to specified datatype.
Code:
Python3
# group by cars based on the sum # and max of sales on quarter 1 # and sum and min of sales 2 and mention # as_index is False grouped_data = data.groupby(by = "cars" ).agg({ "sale_q1 in Cr" : [ sum , max ], 'sale_q2 in Cr' : [ sum , min ]}) # use to_records function on grouped data # and pass this to the Dataframe function flattened_data = pd.DataFrame(grouped_data.to_records()) print (flattened_data) |
Output:
How to flatten a hierarchical index in Pandas DataFrame columns?
In this article, we are going to see the flatten a hierarchical index in Pandas DataFrame columns. Hierarchical Index usually occurs as a result of groupby() aggregation functions. Flatten hierarchical index in Pandas, the aggregated function used will appear in the hierarchical index of the resulting dataframe.
Contact Us