일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- timesfm
- 딥러닝
- nccl 업데이트
- 패혈증 관련 급성 호흡곤란 증후군
- nccl 설치
- Transformer
- 분산 학습
- irregularly sampled time series
- ed boarding
- pytorch
- 리뷰
- gru-d
- nccl 업그레이드
- moirai
- multi gpu
- pre-trained llm
- timellm
- ERD
- 토픽모델링
- Time Series
- length of stay
- m/m/s
- NTMs
- 대기행렬
- queueing theory
- first pg on this rank that detected no heartbeat of its watchdog.
- 의료정보
- 불규칙적 샘플링
- GaN
- operation management
- Today
- Total
데알못정을
Pivot table 형식 해제하여 데이터프레임으로 만들기 본문
데이터 전처리를 수행하던 중에 피봇 테이블을 이용하여 label을 열 정보로 두고 그에 따른 값을 매핑할 필요가 있었다.
내가 하고 싶었던 것은 위 사진에서 보이는 데이터프레임의 label이라는 값을 column으로 변환하고, 그에 대응되는 값을 각각 매칭시키고 싶었고, subject_id, stay_id, charttime은 보존되어야 하기 때문에 multi index로 설정했다.
일단 관측치가 너무 많기 때문에 위 코드 처럼 chunk 단위로 데이터를 불러왔고
chunk 단위로 pivot 변환을 수행하였다. 그 결과는 아래와 같다.
참 난해했다. column을 보면 amount와 각 label 들이 multi index로 들어가있었고, index 자체도 multi index이기 때문에 이를 그대로 전처리 프로세스를 진행하기엔 무리가 있었다. 따라서 이를 우리가 아는 데이터프레임의 형태(column과 index가 single로 존재하는)로 바꾸어줘야 했다.
처음에 시도했던 방법은 얘를 csv로 저장한 다음에 엑셀 상에서 조작하는 방식이었다. 하지만 데이터셋 크기가 너무 크기 때문에 엑셀로 작업하고 저장하는 과정에서 일부 데이터가 소실되었다. ㅠ
여러 방법을 찾아보다가 이 방법이 가장 간편했다.
이 코드를 그대로 실행하면 되는데
1번째 줄은 인덱스를 다시 설정하는 것이다. 이렇게 하면 multi index가 해제되고 원래 있던 각 인덱스는 column으로 들어간다.
2번째 줄은 multi index로 되어 있는 column을 single index로 바꿔준다.
원래 pivot 형태의 column은 다음과 같이 multi index로 되어 있다.
2번째 줄 코드를 실행하면 amount와 column 명 사이의 공백이 없어진다.
3번째 줄 코드는 2번째 줄 코드의 결과로 파생된 amount+column명의 형식에서 amount라는 단어를 제거하는 코드다.
이를 모두 실행하면 결론적으로 pivot 형태를 내가 원하는 데이터프레임 형태로 바꿀 수 있다.
'Coding' 카테고리의 다른 글
NCCL 버전 업그레이드 하다가 발생한 문제 (2) | 2024.08.15 |
---|---|
파이썬 pivot table 생성 시 Memory error 해결하는 방법 (0) | 2023.07.06 |
내가 자꾸 까먹어서 올리는 주피터 노트북 가상 환경 만드는 법 (0) | 2023.07.02 |
[오류해결]No module named ipykernel (0) | 2022.11.09 |
신경망 특정 layer 결과 값 출력하기 (0) | 2022.10.03 |