row -> col 로 보내는 함수 melt()
df.melt() or pd.melt(df)
모두 적용 -> df.melt()
특정 col 고정하고 적용 -> df.melt(id_vars='col name') or df.melt(id_vars=['col1', 'col2', ...])
Ex)
df.melt(id_vars=['name','kor']) # name, kor 고정
특정 col만 적용 value_vars=['col1', 'col2' ... ] 를 기존에 melt()에 추가
Ex)
df.melt(id_vars='name', value_vars=['kor','eng']) # kor, eng만 적용. name은 고정
col 이름 변경: var_name=' '을 추가. value_name=' ' 추가로 변경한 위치의 칼럼이름 변경
Ex)
df.melt(id_vars='name', value_vars=['kor','eng'], var_name='subject', value_name='score')
col -> row로 보내는 함수 pivot()
-> df.pivot( index=row 인덱스col, columns=col 인덱스, values=값으로 사용할 자료 )
예제 데이터와 함수가 다음과 같다.
pivot 예제)
index = row 기준점
columns = col 기준점
values = 내용물
values가 score, grade일 때의 모습
둘 다 나타내고 싶다면
이와같이 리스트로 묶어 표현
values를 생략하면
df내용 바탕으로
내용이 자동 모두 선택
그냥 일괄적으로 행<->열 바꾸는 함수는 transpose()를 이용한다. 선형대수가 생각나네?
예제)
728x90
반응형
'Programming > Python' 카테고리의 다른 글
[Matplotlib] 기본 (0) | 2023.09.04 |
---|---|
[Pandas] pivot_table, groupby로 데이터 통계 다루기 (0) | 2023.08.30 |
[Pandas] concat, merge로 데이터 연결 (SQL JOIN개념) (0) | 2023.08.30 |
[Pandas] type 확인 및 변환 (0) | 2023.08.30 |
[Pandas] Null(결측치) 다루기 (2) | 2023.08.30 |