컴공생의 다이어리
[판다스, pandas] 행 열 전환(transpose) 본문
행 열 전환(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
반응형
'데이터 분석 & 머신러닝' 카테고리의 다른 글
[파이썬, python] matplotlib - 꺽은 선(plot), 히스토그램(hist), 상자 그림(boxplot) (0) | 2021.03.20 |
---|---|
[파이썬, python] matplotlib 그래프 옵션 - 제목(title), 범례(legend), 색상(color), 선 모양(linestyle), 마커 모양(marker) (0) | 2021.03.19 |
[판다스, pandas] 생략된 열을 모든 열(column)이 표시되도록 설정 (0) | 2021.03.19 |
Kaggle(캐글)의 Titanic(타이타닉) 생존자 예측에 사용된 머신러닝 모델 정리 (0) | 2021.02.05 |
Kaggle(캐글) Titanic(타이타닉) 생존자 예측 (0) | 2021.02.04 |
Comments