Pandas GroupBy MultiIndex 시리즈 출력에서 행 검색
다중 인덱스가 있는 DataFrame이 제공되면 GroupBy 작업을 수행하여 개수를 계산할 수 있습니다. 또는 값을 집계합니다. 그러나 결과 출력은 계층적 인덱스가 있는 시리즈이므로 원시 행을 보기가 어렵습니다. 이 문서에서는 이 출력을 원래 행을 포함하는 DataFrame으로 다시 변환하는 방법을 설명합니다.
질문:
Pandas GroupBy 다중 인덱스 시리즈 출력을 어떻게 변환할 수 있습니까? 예:
City Name Name City Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 2 Seattle 1 1
모든 원본을 유지하는 다른 DataFrame으로 행?
답변:
시리즈를 다시 DataFrame으로 변환하는 핵심은 계층적 인덱스를 처리하는 것입니다. 다음은 두 가지 접근 방식입니다.
1. add_suffix 및 Reset_index 사용
g1.add_suffix('_Count').reset_index()
이 방법은 열 이름에 접미사를 추가하고 계층적 인덱스를 재설정하여 플랫이 있는 새 DataFrame을 생성합니다. index.
출력:
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
2. DataFrame 및 Reset_index 사용
DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
이 방법은 그룹화된 크기에서 새 DataFrame을 생성하고 계층적 인덱스를 재설정하여 플랫 DataFrame을 얻습니다.
출력:
Name City count 0 Alice Seattle 1 1 Bob Seattle 2 2 Mallory Portland 2 3 Mallory Seattle 1
이러한 접근 방식을 사용하면 GroupBy 다중 인덱스 시리즈 출력을 수행하고 원본 데이터가 모두 포함된 DataFrame을 재구성합니다.
위 내용은 Pandas GroupBy 다중 인덱스 시리즈 출력을 다시 DataFrame으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!