Pandas: dataframe의 모양을 긴 것에서 넓은 것으로 바꾸는 방법


다음 기본 구문을 사용하여 Pandas DataFrame을 긴 형식에서 넓은 형식으로 변환할 수 있습니다.

 df = pd. pivot (df, index=' col1 ', columns=' col2 ', values=' col3 ')

이 시나리오에서는 col1이 인덱스가 되고, col2는 열이 되며, col3은 DataFrame 내부의 값으로 사용됩니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas DataFrame의 모양을 긴 것에서 넓은 것으로 변경

다음과 같은 긴 형식의 pandas DataFrame이 있다고 가정합니다.

 import pandas as pd

#create DataFrame in long format
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' player ': [1, 2, 3, 4, 1, 2, 3, 4],
                   ' points ': [11, 8, 10, 6, 12, 5, 9, 4]})

#view DataFrame
df

	team player points
0 to 1 11
1 to 2 8
2 to 3 10
3 to 4 6
4 B 1 12
5 B 2 5
6 B 3 9
7 B 4 4

다음 구문을 사용하여 이 DataFrame을 긴 형식에서 넓은 형식으로 변경할 수 있습니다.

 #reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' team ', columns=' player ', values=' points ')

#view updated DataFrame
df

player 1 2 3 4
team				
A 11 8 10 6
B 12 5 9 4

DataFrame은 이제 와이드 형식입니다.

DataFrame 내부의 값은 “team”을 인덱스 열로, “player”를 열로, “points”를 값으로 사용했습니다.

원하는 경우 대신 “player”를 인덱스 열로 사용하고 “team”을 열로 사용할 수 있습니다.

 #reshape DataFrame from long format to wide format
df = pd. pivot (df, index=' player ', columns=' team ', values=' points ')

#view updated DataFrame
df

team A B
player		
1 11 12
2 8 5
3 10 9
4 6 4

이 DataFrame도 와이드 형식입니다.

참고 : 여기에서 Pandas 피벗() 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Python에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas: DataFrame의 모양을 넓은 것에서 긴 것으로 바꾸는 방법
Pandas DataFrame에 행을 추가하는 방법
Pandas DataFrame에 열을 추가하는 방법
Pandas DataFrame에서 특정 값의 발생 횟수를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다