데이터 분석 & 머신러닝
[판다스, pandas] 행 열 전환(transpose)
컴공 K
2021. 3. 19. 00:05
행 열 전환(transpose)
행 열 전환은 데이터프레임이름.transpose()를 하면 전환 할 수 있다. 전환이 되고 난 상태에서 바로 데이터 프레임을 사용하려고 하면 열 이름이 의도치 않게 한 행의 데이터로 되어 있는 것을 볼 수 있을 것이다.
이 때, 데이터프레임이름(columns=데이터프레임이름.iloc[0],inplace=True)와 데이터프레임이름=데이터프레임이름.drop(데이터프레임이름.index[0])를 해주면 행열 전환을 잘 마무리 할 수 있다.
아래 코드에서 데이터 프레임 이름은 df이다.
df = df.transpose() #행 열 전환
df.rename(columns=df.iloc[0], inplace=True) # 행열이 전환된 데이터프레임의 열 이름 제대로 수정
df = df.drop(df.index[0])
예시 - 주피터 노트북
In [1]:
import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
데이터 가져오기
In [2]:
df=pd.read_csv("data/score.csv", encoding='cp949')
In [3]:
df
Out[3]:
과목 | 1반 | 2반 | 3반 | 4반 | 5반 | 6반 | 7반 | |
---|---|---|---|---|---|---|---|---|
0 | 국어 | 85 | 57 | 12 | 47 | 12 | 45 | 18 |
1 | 영어 | 45 | 99 | 89 | 55 | 23 | 65 | 55 |
2 | 수학 | 15 | 45 | 87 | 81 | 64 | 33 | 77 |
행 열 전환
In [4]:
df=df.transpose()
df
Out[4]:
0 | 1 | 2 | |
---|---|---|---|
과목 | 국어 | 영어 | 수학 |
1반 | 85 | 45 | 15 |
2반 | 57 | 99 | 45 |
3반 | 12 | 89 | 87 |
4반 | 47 | 55 | 81 |
5반 | 12 | 23 | 64 |
6반 | 45 | 65 | 33 |
7반 | 18 | 55 | 77 |
In [5]:
df.rename(columns=df.iloc[0],inplace=True)
df = df.drop(df.index[0])
df
Out[5]:
국어 | 영어 | 수학 | |
---|---|---|---|
1반 | 85 | 45 | 15 |
2반 | 57 | 99 | 45 |
3반 | 12 | 89 | 87 |
4반 | 47 | 55 | 81 |
5반 | 12 | 23 | 64 |
6반 | 45 | 65 | 33 |
7반 | 18 | 55 | 77 |
주피터 노트북과 데이터 파일
728x90
반응형