Removing the MultiIndex after grouping
Inevitably, when using groupby, you will create a MultiIndex. MultiIndexes can happen in both the index and the columns. DataFrames with MultiIndexes are more difficult to navigate and occasionally have confusing column names as well.
In this recipe, we perform an aggregation with the .groupby
method to create a DataFrame with a MultiIndex for the rows and columns. Then, we manipulate the index so that it has a single level and the column names are descriptive.
How to do it…
- Read in the flights dataset, write a statement to find the total and average miles flown, and the maximum and minimum arrival delay for each airline for each weekday:
>>> flights = pd.read_csv('data/flights.csv') >>> airline_info = (flights ... .groupby(['AIRLINE', 'WEEKDAY']) ... .agg({'DIST':['sum', 'mean'], ... 'ARR_DELAY':[&apos...