Pandas DataFrame을 녹이려면 데이터를 넓은 형식에서 긴 형식으로 바꾸는 작업이 필요합니다. . 이는 분석, 시각화 또는 기타 목적으로 데이터를 조작할 때 유용합니다. 샘플 문제와 해당 솔루션이 포함된 다양한 용해 시나리오를 살펴보겠습니다.
질문: DataFrame을 녹여서 다음 형식은 달성되었나요?
Name Age Subject Grade 0 Bob 13 English C 1 John 16 English B 2 Foo 16 English B 3 Bar 15 English A+ 4 Alex 17 English F 5 Tom 12 English A 6 Bob 13 Math A+ 7 John 16 Math B 8 Foo 16 Math A 9 Bar 15 Math F 10 Alex 17 Math D 11 Tom 12 Math C
해결책:
DataFrame을 녹이려면 df.melt()를 사용하세요. 새 열 이름에 대해 id_vars(원래 형식으로 유지되는 열)와 var_name 및 value_name을 지정합니다.
pd.melt(df, id_vars=['Name', 'Age'], var_name='Subject', value_name='Grade')
질문: 문제 1의 DataFrame을 어떻게 녹여 'English'를 필터링합니까? 열?
해결책:
df.melt()에서 value_vars를 사용하여 녹일 열을 지정하세요. 이 경우에는 ['Math']만 선택되었습니다:
pd.melt(df, id_vars=['Name', 'Age'], value_vars='Math', var_name='Subject', value_name='Grade')
질문: 녹은 데이터를 어떻게 정렬합니까? 문제 1의 데이터를 점수별로 분류하고 학생들을 그룹화합니다. 이름?
해결책:
녹은 DataFrame에서 .groupby() 및 .agg()를 사용하여 'Grade'별로 그룹화하고 이름과 제목을 쉼표로 연결합니다. -구분된 문자열:
melted_df.groupby('Grade', as_index=False).agg(", ".join)
질문: 녹은 DataFrame을 어떻게 녹이지 않습니까?
해결책:
DataFrame.pivot_table을 사용하세요. ()를 사용하여 DataFrame을 녹입니다. 값, 인덱스 및 열을 지정합니다.
melted_df.pivot_table('Grades', ['Name', 'Age'], 'Subject', aggfunc='first').reset_index().droplevel(level=0, axis=1)
질문: DataFrame을 이름과 열로 그룹화하려면 어떻게 해야 합니까? 과목과 성적을 구분하여 쉼표?
해결책:
DataFrame을 녹이고 .groupby() 및 .agg()를 사용하여 과목과 성적을 연결합니다.
pd.melt(df, id_vars=['Name'], var_name='Subject', value_name='Grade').groupby('Name', as_index=False).agg(", ".join)
질문: DataFrame의 모든 열을 어떻게 녹이나요?
해결책:
df.stack( ).reset_index()를 사용하여 전치 DataFrame:
pd.melt(df, id_vars=None, var_name='Column', value_name='Value')
이러한 솔루션은 다양한 목적으로 데이터를 조작하기 위해 Pandas DataFrame을 녹이거나 녹이지 않는 융통성을 보여줍니다.
위 내용은 데이터 조작을 위해 Pandas DataFrame을 어떻게 녹이고 녹이지 않습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!