본문 바로가기
파이썬

파이썬 Pandas : 다단계 열 이름

by º기록 2020. 12. 24.
반응형

pandas 는 다단계 열 이름을 지원합니다.

>>>  x = pd.DataFrame({'instance':['first','first','first'],'foo':['a','b','c'],'bar':rand(3)})
>>> x = x.set_index(['instance','foo']).transpose()
>>> x.columns
MultiIndex
[(u'first', u'a'), (u'first', u'b'), (u'first', u'c')]
>>> x
instance     first                    
foo              a         b         c
bar       0.102885  0.937838  0.907467

이 기능은 동일한 데이터 프레임의 여러 버전이 인스턴스를 구분하는 첫 번째 수준의 열 이름 (예 : instance )과 함께 '수평으로'추가 될 수 있기 때문에 매우 유용합니다.

이미 다음과 같은 데이터 프레임이 있다고 상상해보십시오.

                 a         b         c
bar       0.102885  0.937838  0.907467

행 인덱스에 대해 다음과 같이 열 이름에 다른 수준을 추가하는 좋은 방법이 있습니까?

x['instance'] = 'first'
x.set_level('instance',append=True)

 

해결 방법

 

튜플 목록을 만들 필요가 없습니다.


import pandas as pd
import numpy as np

df = pd.Series(np.random.rand(3), index=["a","b","c"]).to_frame().T
df.columns = pd.Multiindex.from_product([["new_label"], df.columns])

결과 DataFrame :

  new_label                    
          a         b         c
0   0.25999  0.337535  0.333568


 

참조 페이지 https://stackoverflow.com/questions/21443963

 

 

반응형

댓글