DataFrame df와 사전 d를 고려해보세요. 그룹 및 이름이라는 추가 열이 있는 테이블로 df의 모양을 변경하려고 합니다. 원하는 출력은 다음과 같아야 합니다.
Group Name Year Value 0 A Amy 2013 2 1 A Amy 2014 9 2 B Bob 2013 4 3 B Bob 2014 2 4 B Ben 2013 1 5 B Ben 2014 5 6 C Carl 2013 7 7 C Carl 2014 4 8 C Chris 2013 8 9 C Chris 2014 5 10 Other 2013 3 11 Other 2014 6
이 재구성을 달성하기 위해 Pandas Melt 기능을 활용합니다.
m = pd.melt(df, id_vars=['Year'], var_name='Name')
이렇게 하면 녹아 있는 DataFrame이 생성됩니다. m을 연도, 이름 및 값 열로 사용합니다. 그룹 열을 추가하기 위해 d를 다음과 같이 재구성합니다.
d2 = {} for k, v in d.items(): for item in v: d2[item] = k
그런 다음 d2를 m['Name']에 매핑하여 그룹 열을 채웁니다.
m['Group'] = m['Name'].map(d2)
마지막으로 '기타' 값을 이름에서 그룹으로 이동합니다.
mask = m['Name'] == 'Other' m.loc[mask, 'Name'] = '' m.loc[mask, 'Group'] = 'Other'
결과 DataFrame m은 원하는 값과 일치합니다. 출력합니다.
위 내용은 Pandas\' `melt` 함수는 추가 그룹 및 이름 열을 사용하여 DataFrame을 어떻게 재구성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!