반응형
데이터 집계, 피벗 테이블 생성 - pivot_table
들어가며
데이터분석을 하기 위해 피벗 테이블을 생성해야 할 때는 pivot_table을 활용합니다. 방대한 양의 데이터를 한눈에 보기 쉽게 집계표를 나타낼 수 있습니다.
피벗 테이블
먼저 필요한 패키지인 pandas를 import합니다.
# pip install pandas
import pandas as pd
예제 데이터로 2024년 3월 14일의 시간대별 ID별 속도 데이터를 사용하겠습니다. 아래의 csv파일을 다운로드하여 사용해 보세요:)
df = pd.read_csv('test_df.csv', encoding='euc-kr')
df.head()
아래 그림과 같이 행에 ID를 열에 시간대를 놓고, 그에 맞는 속도를 나타내보겠습니다.
df_pivot = df.pivot_table(index='ID', columns='STIME', values='SPD')
df_pivot.head()
반응형
현재 인덱스인 ID를 해제하고 싶다면, reset_index를 추가합니다.
df_pivot2 = df.pivot_table(index='ID', columns='STIME', values='SPD').reset_index()
df_pivot2.head()
현재 df에는 결측값이 없지만, 데이터에 결측값이 있다면 fill_value를 통해 결측값을 채워 넣을 수도 있습니다.
df_pivot3 = df.pivot_table(index='ID', columns='STIME', values='SPD', fill_value = 95)
전체 코드
# pip install pandas
import pandas as pd
# 예제 데이터
df = pd.read_csv('test_df.csv', encoding='euc-kr')
df.head()
# df_pivot
df_pivot = df.pivot_table(index='ID', columns='STIME', values='SPD')
df_pivot.head()
# df_pivot2: index 해제
df_pivot2 = df.pivot_table(index='ID', columns='STIME', values='SPD').reset_index()
df_pivot2.head()
# df_pivot3: 결측값 처리
df_pivot3 = df.pivot_table(index='ID', columns='STIME', values='SPD', fill_value = 95)
반응형
'Python' 카테고리의 다른 글
[파이썬] OpenWeather API 활용 방법 - 실시간 날씨 데이터 수집 (0) | 2025.04.11 |
---|---|
[파이썬] 특정 경로에 폴더, directory 생성 - os, mkdir (0) | 2025.04.10 |
[파이썬] 범주형 변수 처리, 더미변수 - get_dummies, OneHotEncoder (0) | 2025.04.08 |
[파이썬] 패키지 설치 자동화 스크립트 - subprocess, importlib (0) | 2025.04.07 |
[파이썬] 피벗 테이블 멀티 인덱스 해제 (4) | 2025.04.06 |