소개
Pandas에서 데이터 프레임 녹이기에는 데이터를 넓은 형식에서 긴 형식으로 바꾸는 작업이 포함됩니다. 형식으로 되어 있어 다양한 데이터 조작 작업에 유용합니다. 이 문서에서는 데이터프레임을 녹이는 과정을 안내하고 실제 사례를 통해 다양한 시나리오를 탐색합니다.
문제 1: 열 데이터 전치
목표: 원래 열을 반복하면서 열을 행으로 바꿉니다. names.
해결책:
df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades')
이 코드는 'Subject' 및 'Grades' 열이 있는 새 데이터 프레임을 생성하며 원래 열 이름은 반복됩니다. 각각에 대해 row.
예:
df = pd.DataFrame({'Name': ['Bob', 'John', 'Foo', 'Bar', 'Alex', 'Tom'], 'Math': ['A+', 'B', 'A', 'F', 'D', 'C'], 'English': ['C', 'B', 'B', 'A+', 'F', 'A'], 'Age': [13, 16, 16, 15, 15, 13]}) melted_df = df.melt(id_vars=['Name', 'Age'], var_name='Subject', value_name='Grades') print(melted_df)
출력:
Name Age Subject Grades 0 Bob 13 English C 1 John 16 English B ... 11 Tom 13 Math C
문제 2: 필터링 열
목표: 특정 열을 제외하고 다른 열을 녹입니다.
해결책:
df.melt(id_vars=['Name', 'Age'], value_vars='Math', var_name='Subject', value_name='Grades')
여기서 예를 들어 'Math' 열만 녹이고 'Age'와 'Name'은 그대로 유지됩니다. 식별자.
예:
melted_df = df.melt(id_vars=['Name', 'Age'], value_vars='Math', var_name='Subject', value_name='Grades') print(melted_df)
출력:
Name Age Subject Grades 0 Bob 13 Math A+ 1 John 16 Math B ...
문제 3: 그룹화 및 녹여서 주문하기 데이터
목표: 녹은 데이터를 그룹화하고 값별로 정렬합니다.
해결책:
melted_df.groupby('value', as_index=False).agg({ 'Subject': ', '.join, 'Grades': ', '.join }).sort_values('value', ascending=True)
이 코드는 녹은 데이터를 점수별로 그룹화하고 'Subject' 및 'Grades' 값을 쉼표.
예:
grouped_df = melted_df.groupby('value', as_index=False).agg({ 'Subject': ', '.join, 'Grades': ', '.join }).sort_values('value', ascending=True) print(grouped_df)
출력:
value Name Subjects 0 A Foo, Tom Math, English 1 A+ Bob, Bar Math, English 2 B John, John, Foo Math, English, English ...
문제 4: 녹지 않음 데이터프레임
목표: 녹는 과정을 거꾸로 진행하여 원래 형식으로 되돌립니다.
해결책:
melted_df.pivot_table("Grades", ['Name', 'Age'], 'Subject', aggfunc='first').reset_index()
이 코드는 녹은 데이터 프레임을 원래 너비로 되돌립니다. 형식.
예:
unmelted_df = melted_df.pivot_table("Grades", ['Name', 'Age'], 'Subject', aggfunc='first').reset_index() print(unmelted_df)
출력:
Name Age Math English 0 Alex 15 D F 1 Bar 15 F A+ 2 Bob 13 A+ C 3 Foo 16 A B ...
문제 5: 그룹화 및 결합 열
목표: 특정 열을 기준으로 데이터를 그룹화하고 다른 열을 쉼표로 결합합니다.
해결책:
melted_df.groupby('Name', as_index=False).agg( Subjects=', '.join, Grades=', '.join )
이 코드는 '이름'별로 데이터를 그룹화하고 '과목'과 '성적'을 결합합니다.
예:
grouped_df = melted_df.groupby('Name', as_index=False).agg( Subjects=', '.join, Grades=', '.join ) print(grouped_df)
출력:
Name Subjects Grades 0 Alex Math, English D, F 1 Bar Math, English F, A+ 2 Bob Math, English A+, C ...
문제 6: 녹는다 모두 열
목표: 식별자를 포함하여 모든 열을 행으로 변환합니다.
해결책:
df.melt(var_name='Column', value_name='Value')
이 코드는 모든 열을 행으로 녹여 모든 데이터를 다음과 같이 처리합니다. 값.
예:
melted_df = df.melt(var_name='Column', value_name='Value') print(melted_df)
출력:
Column Value 0 Age 16 1 Age 16 2 Age 15 ... 11 English C 12 Math A 13 Math A+
위 내용은 Pandas DataFrame을 효율적으로 녹이고 녹이지 않게 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!