MultiIndex 로 행 통합시키기¶
python 내 Pandas 를 통한 data frame에서 어떻게 여러 행을 묶을 수 있는지 알아보겠습니다.
In [1]:
import pandas as pd
import numpy as np
#간단한 예제 데이터프래임 생성
ar = np.array([[0,0,3,1], [0,1,6,5],
[1,0,4,6],[1,1,3,8]])
df1 = pd.DataFrame(ar, columns=['성별','min','median','mean'])
df1
Out[1]:
성별 | min | median | mean | |
---|---|---|---|---|
0 | 0 | 0 | 3 | 1 |
1 | 0 | 1 | 6 | 5 |
2 | 1 | 0 | 4 | 6 |
3 | 1 | 1 | 3 | 8 |
In [2]:
mi = pd.MultiIndex.from_frame(df1[["성별"]])
print(mi)
MultiIndex([(0,), (0,), (1,), (1,)], names=['성별'])
In [3]:
df1.index = mi
df1 = df1[["min","median", "mean"]]
df1
Out[3]:
min | median | mean | |
---|---|---|---|
성별 | |||
0 | 0 | 3 | 1 |
0 | 1 | 6 | 5 |
1 | 0 | 4 | 6 |
1 | 1 | 3 | 8 |
이 결과를 보면 위에 테이블과 다르게 성별에 대한 열 설명이 아래로 치우쳐져 있고, 성별이 마치 row name 처럼 표시되는것을 볼 수 있습니다.
지금 anaconda에서의 출력물은 이렇지만, linux 환경에서 출력해보면 index가 성별로 묶인 것을 확인할 수 있습니다.