Home > Backend Development > Python Tutorial > How to Convert a Pandas GroupBy MultiIndex Series to a DataFrame?

How to Convert a Pandas GroupBy MultiIndex Series to a DataFrame?

Mary-Kate Olsen
Release: 2024-12-09 06:23:05
Original
528 people have browsed it

How to Convert a Pandas GroupBy MultiIndex Series to a DataFrame?

Converting Pandas GroupBy Multiindex Output from Series to DataFrame

When grouping a DataFrame by multiple columns using GroupBy, the result is often a MultiIndex Series. However, in certain scenarios, you may require the data back in a DataFrame format. This article demonstrates how to convert a MultiIndex Series output of GroupBy back into a DataFrame.

Consider the following sample DataFrame:

     City     Name
0   Seattle    Alice
1   Seattle      Bob
2  Portland  Mallory
3   Seattle  Mallory
4   Seattle      Bob
5  Portland  Mallory
Copy after login

Using GroupBy with multiple columns, we can count the occurrences:

g1 = df1.groupby(["Name", "City"]).count()
Copy after login

However, the output of g1 is a MultiIndex Series:

                  City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1
Copy after login

To convert this back to a DataFrame, you can leverage two approaches:

Method 1: Adding Suffix and Resetting Index

Add a suffix to the column names and reset the index:

g1.add_suffix('_Count').reset_index()
Copy after login

This will create a DataFrame with three columns: Name, City, and two additional columns suffixed with _Count to denote the counts.

Method 2: Using DataFrame Constructor

Alternatively, you can use the DataFrame constructor with the .size() method to count the occurrences and reset the index:

DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
Copy after login

This approach will create a DataFrame with two columns: Name, City, and an additional column count representing the counts.

The above is the detailed content of How to Convert a Pandas GroupBy MultiIndex Series to a DataFrame?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template