소개
이 랩에서는 sort_values, pivot, pivot_table, 그리고 melt와 같은 다양한 함수를 사용하여 pandas 에서 데이터를 재구성하는 방법을 살펴봅니다. 타이타닉 (Titanic) 및 대기 질 (Air Quality) 데이터 세트를 사용하여 재구성 기법을 시연할 것입니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
라이브러리 임포트 및 데이터 로드
먼저, 필요한 라이브러리를 임포트하고 데이터 세트를 로드하겠습니다.
import pandas as pd
## 타이타닉 데이터 세트 로드
titanic = pd.read_csv("data/titanic.csv")
## 대기 질 데이터 세트 로드
air_quality = pd.read_csv("data/air_quality_long.csv", index_col="date.utc", parse_dates=True)
테이블 행 정렬
타이타닉 데이터 세트를 승객의 나이별로 정렬한 다음, 객실 등급과 나이 순으로 내림차순으로 정렬합니다.
## 나이별 정렬
titanic.sort_values(by="Age").head()
## Pclass 및 Age 를 내림차순으로 정렬
titanic.sort_values(by=['Pclass', 'Age'], ascending=False).head()
Long 형식에서 Wide 형식 테이블로 변환
이제 pivot 함수를 사용하여 대기 질의 long 형식 데이터를 wide 형식으로 변환합니다.
## no2 데이터만 필터링
no2 = air_quality[air_quality["parameter"] == "no2"]
## 각 위치에 대해 2 개의 측정값 사용 (head) (groupby)
no2_subset = no2.sort_index().groupby(["location"]).head(2)
## 데이터 피벗
no2_subset.pivot(columns="location", values="value")
피벗 테이블 생성
각 스테이션에서 𝑁𝑂2 및 𝑃𝑀25 의 평균 농도를 찾기 위해 피벗 테이블을 생성합니다.
air_quality.pivot_table(
values="value", index="location", columns="parameter", aggfunc="mean"
)
Wide 형식에서 Long 형식으로 변환
이제 melt 함수를 사용하여 𝑁𝑂2 의 wide 형식 데이터를 long 형식으로 변환해 보겠습니다.
## no2_pivoted 의 인덱스 재설정
no2_pivoted = no2.pivot(columns="location", values="value").reset_index()
## 데이터 멜트 (melt)
no_2 = no2_pivoted.melt(id_vars="date.utc")
요약
이 랩에서는 sort_values, pivot, pivot_table, 그리고 melt와 같은 다양한 함수를 사용하여 pandas 에서 데이터를 재구성하는 방법을 배웠습니다. 타이타닉 (Titanic) 및 대기 질 (Air Quality) 데이터 세트에 이러한 기술을 적용하여 데이터를 정렬, 피벗 (pivot) 및 멜트 (melt) 했습니다. 이러한 재구성 기술은 pandas 에서 데이터를 처리할 때 필수적이며, 데이터를 효율적으로 분석하고 시각화하는 데 도움이 될 수 있습니다.