✳️ unstack : index to column
파라미터
- level: unstack을 수행할 인덱스 레벨을 지정
여러 개의 레벨을 지정할 수 있으며, 이 경우 데이터프레임이 멀티인덱스를 가지게 됨
기본값은 -1로, 마지막 인덱스 레벨을 사용 - fill_value: unstack을 수행한 결과에서 결측값을 채울 값을 지정
기본값은 None으로, 결측값을 그대로 둠
<기본 구조>
dataframe.unstack(level = -1, dropna == True)
level : default 값은 -1이고, 하나의 index 혹은 columns를 쌓을 수준 (한 번에 여러 level을 선택할 수 없다.)
dropna : default 값은 True 이고, False로 설정할 경우, nan 값이 출력됨
➕ 예시)
이러한 데이터가 있다고 가정한다.
⭐ 데이터프레임.unstack(level = 0 or level = 1)?
level을 조절해서 몇 번째 인덱스를 컬럼으로 올릴 것인지 정할 수 있다.
디폴트 값은 마지막 인덱스이다.
이 데이터프레임에 unstack을 각각 (0)과 (1)로 했을 때 어떻게 출력 되는지 확인해보면,
unstack(0) : 0번째 인덱스 값인 one, two가 컬럼으로 배치되었고,
unstack(1) : 1번째 인덱스 값인 a, b가 컬럼으로 배치되었다.
✳️ stack : column to index
파라미터
- level: stack을 수행할 인덱스 레벨을 지정
여러 개의 레벨을 지정할 수 있으며, 이 경우 데이터프레임이 멀티인덱스를 가지게 됨
기본값은 -1로, 마지막 인덱스 레벨을 사용 - dropna: 스택을 수행한 결과에서 결측값을 제거할지 여부를 지정
기본값은 True로, 결측값을 제거
(dropna=True 옵션을 주면 결측값이 있는 행(row)는 스택(Stack)의 대상에서 제외된다.)
<기본 구조>
dataframe.stack(level = -1, dropna == True)
level : default 값은 -1이고, 하나의 index 혹은 columns를 쌓을 수준 (한 번에 여러 level을 선택할 수 없다.)
dropna : default 값은 True 이고, False로 설정할 경우, nan 값이 출력됨
➕ 예시)
마찬가지로 컬럼이 다음과 같이 0, 1과 one, two로 이루어져 있고 값이 있는 이러한 데이터가 있다고 가정해보자.
stack도 비슷한 원리이다.
stack(0) : 0번째 인덱스 값인 0, 1 인덱스로 배치되었고,
stack(1) : 1번째 인덱스 값인 one, two가 컬럼으로 배치되었다.
<참고>
https://resultofeffort.tistory.com/85
https://gibles-deepmind.tistory.com/entry/Pandas-Stack-VS-Unstack
'📒 Today I Learn > 🐍 Python' 카테고리의 다른 글
[Pandas] .agg( ) (0) | 2024.07.17 |
---|---|
[Pandas] .isin( ) (0) | 2024.07.17 |
[Pandas] Grouping (0) | 2024.07.16 |
[Pandas] groupby( ) (0) | 2024.07.16 |
[Pandas] count & size (0) | 2024.07.16 |