>  기사  >  백엔드 개발  >  Pandas GroupBy MultiIndex 출력을 시리즈에서 DataFrame으로 변환하는 방법은 무엇입니까?

Pandas GroupBy MultiIndex 출력을 시리즈에서 DataFrame으로 변환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-22 22:35:20118검색

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

Pandas GroupBy MultiIndex 출력을 시리즈에서 DataFrame으로 변환

다음 DataFrame을 고려하세요.

df1 = pd.DataFrame({'City': ['Seattle', 'Seattle', 'Portland', 'Seattle', 'Seattle', 'Portland'],
                    'Name': ['Alice', 'Bob', 'Mallory', 'Mallory', 'Bob', 'Mallory']})

groupby( ), 출력은 표시된 것처럼 계층적 인덱스 DataFrame입니다. 아래:

g1 = df1.groupby(['Name', 'City']).count()

print(g1)
                   City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1

원하는 DataFrame 구조를 검색하려면 여러 가지 접근 방식이 있습니다.

접미사 추가 및 인덱스 재설정

여기에는 열에 접미사를 추가하는 작업이 포함됩니다. 이름 지정 및 계층적 인덱스 재설정:

g1.add_suffix('_Count').reset_index()

print(
    pd.DataFrame({'City_Count': g1['City'],
                  'Name_Count': g1['Name']
                  })
)
          City_Count  Name_Count
Alice   Seattle      1           1
       Portland     2           2
Bob     Seattle      2           2
Mallory Portland     2           2
        Seattle      1           1

size() 사용 방법

또 다른 접근 방식은 size() 메서드를 사용하여 각 그룹의 발생 횟수를 계산하고 색인을 재설정하는 것입니다.

df1.groupby(['Name', 'City']).size().reset_index()

print(
    pd.DataFrame({'Name': g1.index.get_level_values(0),
                  'City': g1.index.get_level_values(1),
                  'Count': g1['City']
                  })
)
      Name      City  Count
0     Alice   Seattle      1
1       Bob   Seattle      2
2   Mallory  Portland      2
3   Mallory   Seattle      1

위 내용은 Pandas GroupBy MultiIndex 출력을 시리즈에서 DataFrame으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.