복붙노트

[PYTHON] 팬더 멀티 인덱스를 열로 바꿉니다.

PYTHON

팬더 멀티 인덱스를 열로 바꿉니다.

2 인덱스 수준의 데이터 프레임이 있습니다.

                         value
Trial    measurement
    1              0        13
                   1         3
                   2         4
    2              0       NaN
                   1        12
    3              0        34 

나는 이것으로 돌리고 싶다 :

Trial    measurement       value

    1              0        13
    1              1         3
    1              2         4
    2              0       NaN
    2              1        12
    3              0        34 

어떻게하면 좋을까요?

여기에 지시 된대로 데이터를 집계하기 때문에이 필요하지만 인덱스로 사용중인 경우 해당 열을 선택할 수 없습니다.

해결법

  1. ==============================

    1.reset_index ()는 인덱스 값을 DataFrame에 열로 전송하는 팬더 DataFrame 메소드입니다. 매개 변수의 기본 설정은 drop = False (색인 값을 열로 유지)입니다.

    reset_index ()는 인덱스 값을 DataFrame에 열로 전송하는 팬더 DataFrame 메소드입니다. 매개 변수의 기본 설정은 drop = False (색인 값을 열로 유지)입니다.

    수행해야 할 모든 작업은 DataFrame의 이름 뒤에 .reset_index (inplace = True)를 추가하십시오.

    df.reset_index(inplace=True)  
    
  2. ==============================

    2.이것은 실제로 귀하의 사건에는 적용되지 않지만 다른 사람들 (5 분 전에 나와 같은)에게 알리는 것이 도움이 될 수 있습니다. 다중 색인의 이름이 다음과 같은 경우 :

    이것은 실제로 귀하의 사건에는 적용되지 않지만 다른 사람들 (5 분 전에 나와 같은)에게 알리는 것이 도움이 될 수 있습니다. 다중 색인의 이름이 다음과 같은 경우 :

                             value
    Trial        Trial
        1              0        13
                       1         3
                       2         4
        2              0       NaN
                       1        12
        3              0        34 
    

    df.reset_index (inplace = True)는 생성 된 열이 이름을 공유 할 수 없기 때문에 실패합니다.

    그렇다면 df.index = df.index.set_names ([ 'Trial', 'measurement'])를 사용하여 멀티 색인의 이름을 변경해야합니다.

                               value
    Trial    measurement       
    
        1              0        13
        1              1         3
        1              2         4
        2              0       NaN
        2              1        12
        3              0        34 
    

    그리고 df.reset_index (inplace = True)는 매력처럼 작동합니다.

    나는이 문제를 year와 month로 datetime-column (인덱스가 아님)에 그룹화 한 후 live_date라는 이름을 붙 였는데, 이는 year와 month 둘 다 live_date라는 것을 의미합니다.

  3. from https://stackoverflow.com/questions/20110170/turn-pandas-multi-index-into-column by cc-by-sa and MIT license