[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.reset_index ()는 인덱스 값을 DataFrame에 열로 전송하는 팬더 DataFrame 메소드입니다. 매개 변수의 기본 설정은 drop = False (색인 값을 열로 유지)입니다.
reset_index ()는 인덱스 값을 DataFrame에 열로 전송하는 팬더 DataFrame 메소드입니다. 매개 변수의 기본 설정은 drop = False (색인 값을 열로 유지)입니다.
수행해야 할 모든 작업은 DataFrame의 이름 뒤에 .reset_index (inplace = True)를 추가하십시오.
df.reset_index(inplace=True)
-
==============================
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라는 것을 의미합니다.
from https://stackoverflow.com/questions/20110170/turn-pandas-multi-index-into-column by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] DataFrame 열 유형을 문자열에서 datetime으로 변환 (0) | 2018.10.11 |
---|---|
[PYTHON] 문자의 ASCII 값을 얻는 방법? (0) | 2018.10.11 |
[PYTHON] os.walk의 디렉토리 제외 (0) | 2018.10.11 |
[PYTHON] 문자열에서 가장 긴 반복 시퀀스 찾기 (0) | 2018.10.11 |
[PYTHON] 양의 정수로 0이 아닌 비트를 빠르게 계산 (0) | 2018.10.11 |