
Pandas GroupBy MultiIndex 출력을 시리즈에서 DataFrame으로 변환
다음 DataFrame을 고려하세요.
1 2 | df1 = pd.DataFrame({ 'City' : [ 'Seattle' , 'Seattle' , 'Portland' , 'Seattle' , 'Seattle' , 'Portland' ],
'Name' : [ 'Alice' , 'Bob' , 'Mallory' , 'Mallory' , 'Bob' , 'Mallory' ]})
|
로그인 후 복사
groupby( ), 출력은 표시된 것처럼 계층적 인덱스 DataFrame입니다. 아래:
1 2 3 4 5 6 7 8 9 | 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 구조를 검색하려면 여러 가지 접근 방식이 있습니다.
접미사 추가 및 인덱스 재설정
여기에는 열에 접미사를 추가하는 작업이 포함됩니다. 이름 지정 및 계층적 인덱스 재설정:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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() 메서드를 사용하여 각 그룹의 발생 횟수를 계산하고 색인을 재설정하는 것입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!