반응형
데이터 가공작업에서 연간 데이터 처리시에 월별 칼럼 데이터의 변환이 필요한 경우가 있습니다.
이럴 때 for문을 사용하여 쉽게 하는 방법에 대해 알아보고자 합니다.
월별 데이터 변환 작업
[예시]
컬럼명이 '25.1월' ~ '25.12월' 처럼 반복되는 경우, for문을 돌면서 astype("Int64") 로 변환할 수 있습니다.
예시 코드로 보여드릴게요:
import pandas as pd
import numpy as np
# 샘플 데이터 생성
df = pd.DataFrame({
'25.1월': [1.0, 2.0, np.nan, 4.0],
'25.2월': [10.0, np.nan, 30.0, 40.0],
'기타': [100, 200, 300, 400]
})
# 변환할 컬럼명 리스트 만들기 (25.1월 ~ 25.12월)
cols = [f'25.{i}월' for i in range(1, 13)]
# 실제 데이터프레임에 존재하는 컬럼만 선택해서 변환
for col in cols:
if col in df.columns:
df[col] = df[col].astype("Int64")
print(df.dtypes)
print(df)
✅ 실행 결과
25.1월 Int64
25.2월 Int64
기타 int64
dtype: object
25.1월 25.2월 기타
0 1 10 100
1 2 <NA> 200
2 <NA> 30 300
3 4 40 400
📌 정리:
- for col in cols: 로 컬럼 순회
- astype("Int64") → NaN 도 유지 가능한 정수형 변환
- 실제 존재하는 컬럼만 변환하도록 if col in df.columns 체크
반응형
'파이썬(Python)' 카테고리의 다른 글
숫자데이터의 타입 float 을 int 로 변경하기 (0) | 2025.09.08 |
---|---|
데이터프레임-특정필드의 데이터타입이 float를 int 로 변경하고자 할 때 NA 로 되어 있는 경우 오류 해결 (0) | 2025.08.18 |
데이터프레임-transform() 활용하기 (2) | 2025.08.18 |
파이썬-데이터프레임 변환 melt, pivot 함수 사용하기 (2) | 2025.08.17 |
파이썬-피봇테이블(pivot table) NaN, 다중컬럼 처리하기 (1) | 2025.08.17 |