데이터분석/전처리

Data Preprocessing - 데이터 형 변환

2^7 2024. 11. 13. 21:00

데이터 형 변환란? 

  • 데이터를 다른 형식으로 바꾸는 과정
  • 형 변환은 분석의 정확도와 효율성을 높이는 데 매우 중요하며, 보통 숫자, 문자, 날짜 형식의 데이터를 다룰 때 자주 사용함

 

데이터 형 변환 목적

  • 데이터 정리: 형식을 통일해 분석의 일관성을 높임
  • 계산 및 처리 용이성: 숫자나 날짜를 올바른 형식으로 바꿔야 수식이나 계산이 가능함
  • 데이터 연결 및 시각화: 형식이 맞아야 데이터 간 연결 및 그래프화가 용이

 

데이터 형 변환 방법

1) 숫자 데이터 형 변환

숫자 데이터는 정수(int)와 소수점이 있는 실수(float)로 구분

  • 정수 ↔ 실수: 예를 들어, 100과 같은 정수를 100.0처럼 실수로 변환할 때는 주로 계산의 정밀도를 위해 사용함
  • 문자 → 숫자: 데이터가 "100"처럼 문자형으로 저장되었을 때 숫자형(int나 float)으로 바꿔야 계산이 가능함
# 정수를 실수로 변환
integer_value = 100
float_value = float(integer_value)
print(float_value)  # 출력: 100.0

# 실수를 정수로 변환 (소수점 이하가 버려짐)
float_value = 123.45
integer_value = int(float_value)
print(integer_value)  # 출력: 123

# 문자열을 숫자로 변환
str_num = "123"
int_num = int(str_num)
float_num = float(str_num)
print(int_num)    # 출력: 123
print(float_num)  # 출력: 123.0

 

2) 문자 데이터 형 변환

  • 숫자 ↔ 문자: 예를 들어 "123"이라는 문자열을 숫자 123으로 변환하거나, 반대로 숫자를 문자로 바꿔 데이터 간 연결이나 포맷팅을 위해 사용함
  • 형식 통일: 분석하기 전에 대문자, 소문자로 통일하거나 특정 형식으로 변경해 데이터 정리와 검색을 용이하게 만듬
# 숫자를 문자로 변환
num = 456
str_num = str(num)
print(str_num)  # 출력: "456"

# 대문자로 변환
text = "hello world"
upper_text = text.upper()
print(upper_text)  # 출력: "HELLO WORLD"

# 소문자로 변환
mixed_text = "Python Programming"
lower_text = mixed_text.lower()
print(lower_text)  # 출력: "python programming"

 

3) 날짜 데이터 형 변환

 날짜 데이터는 연, 월, 일, 시, 분, 초 등 시간 정보를 포함. 날짜 형식의 데이터는 다양한 표현 방식이 있기 때문에 데이터 일관성을 위해 형 변환이 필요함

  • 문자 → 날짜 형식: 예를 들어 "2023-01-01" 같은 문자열을 날짜 형식으로 변환해 날짜 계산을 가능하게 함
  • 다른 날짜 형식으로 변환: "YYYY-MM-DD" 형식을 "MM/DD/YYYY"로 바꾸거나, 날짜의 일부분만 사용하는 경우 변환
from datetime import datetime

# 문자열을 날짜로 변환
date_str = "2024-11-13"
date_obj = datetime.strptime(date_str, "%Y-%m-%d")
print(date_obj)  # 출력: 2024-11-13 00:00:00

# 날짜를 문자열로 변환 (다른 형식으로)
new_date_str = date_obj.strftime("%m/%d/%Y")
print(new_date_str)  # 출력: 11/13/2024

# 날짜의 일부만 사용 (년도)
year = date_obj.year
print(year)  # 출력: 2024

 

더보기

변환 코드 요약

 

  • 정수 <-> 실수: int()와 float() 함수를 사용하여 상호 변환.
  • 문자 <-> 숫자: str(), int(), float()로 변환 가능.
  • 문자 <-> 날짜: datetime.strptime()와 datetime.strftime()을 사용하여 형식에 맞게 변환.

 

728x90
댓글수2