Pandas Melt 및 사전 조작을 통해 어떻게 넓은 데이터프레임을 깔끔한 형식으로 재구성할 수 있나요?

Patricia Arquette
풀어 주다: 2024-11-22 00:49:12
원래의
798명이 탐색했습니다.

How Can Pandas Melt and Dictionary Manipulation Reshape a Wide Dataframe into a Tidy Format?

Pandas Melt 기능: 손쉽게 데이터프레임 재구성

Pandas Melt 기능은 데이터프레임을 재구성하여 넓은 데이터를 길고 깔끔한 형식으로 변환하는 강력한 도구입니다. 이렇게 하면 데이터를 더 쉽게 분석하고 조작할 수 있습니다.

문제: 데이터 프레임 재구성

다음 데이터 프레임과 사전을 고려하십시오.

df = pd.DataFrame([[2, 4, 7, 8, 1, 3, 2013], [9, 2, 4, 5, 5, 6, 2014]], columns=['Amy', 'Bob', 'Carl', 'Chris', 'Ben', 'Other', 'Year'])

d = {'A': ['Amy'], 'B': ['Bob', 'Ben'], 'C': ['Carl', 'Chris']}
로그인 후 복사

목표는 데이터 프레임을 다음과 같이 재구성하는 것입니다. 추가 열이 있는 깔끔한 형식:

    Group   Name  Year  Value
0      A    Amy  2013      2
1      A    Amy  2014      9
2      B    Bob  2013      4
...
10  Other         2013      3
11  Other         2014      6
로그인 후 복사

용해 및 재형성 사용 사전

멜트 기능만으로는 변신이 완성되지 않습니다. 원하는 결과를 얻으려면 사전도 조작해야 합니다.

m = pd.melt(df, id_vars=['Year'], var_name='Name')

d2 = {}
for k, v in d.items():
    for item in v:
        d2[item] = k

m['Group'] = m['Name'].map(d2)
로그인 후 복사

'기타' 값 처리

마지막으로 '기타'를 '이름' 열에서 '그룹' 열:

mask = m['Name'] == 'Other'
m.loc[mask, 'Name'] = ''
m.loc[mask, 'Group'] = 'Other'
로그인 후 복사

이제 결과 데이터 프레임이 원하는 형식과 일치합니다. Melt 기능은 몇 가지 추가 조작과 결합되어 데이터 프레임을 재구성하는 유연하고 효율적인 방법을 제공합니다.

위 내용은 Pandas Melt 및 사전 조작을 통해 어떻게 넓은 데이터프레임을 깔끔한 형식으로 재구성할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿