Home > Backend Development > Python Tutorial > How to Convert a Pandas GroupBy Multi-Index Series Output Back into a DataFrame?

How to Convert a Pandas GroupBy Multi-Index Series Output Back into a DataFrame?

Patricia Arquette
Release: 2024-11-24 08:50:14
Original
257 people have browsed it

How to Convert a Pandas GroupBy Multi-Index Series Output Back into a DataFrame?

Retrieving Rows from a Pandas GroupBy MultiIndex Series Output

Given a DataFrame with a multi-index, you may perform a GroupBy operation to count or aggregate the values. However, the resulting output is a Series with a hierarchical index, making it difficult to view the raw rows. This article addresses how to convert this output back into a DataFrame containing the original rows.

Question:

How can you transform a Pandas GroupBy multi-index Series output, such as:

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

into another DataFrame that retains all the original rows?

Answer:

The key to converting the Series back into a DataFrame is to handle the hierarchical index. Here are two approaches:

1. Using add_suffix and reset_index

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

This method adds a suffix to the column names and resets the hierarchical index to create a new DataFrame with a flat index.

Output:

      Name      City  City_Count  Name_Count
0    Alice   Seattle           1           1
1      Bob   Seattle           2           2
2  Mallory  Portland           2           2
3  Mallory   Seattle           1           1
Copy after login

2. Using DataFrame and reset_index

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

This method creates a new DataFrame from the grouped sizes and resets the hierarchical index to obtain a flat DataFrame.

Output:

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

These approaches allow you to extract the rows from the GroupBy multi-index Series output and reconstruct a DataFrame that contains all the original data.

The above is the detailed content of How to Convert a Pandas GroupBy Multi-Index Series Output Back into 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