랭귀지/pandas

Type 변경

유키공 2025. 6. 9. 14:52
cols = ['col1', 'col2', 'col3']  # category로 바꿀 컬럼 리스트
df[cols] = df[cols].apply(lambda x: x.astype('category'))
import pandas as pd
import numpy as np

# 예시 데이터 생성
df = pd.DataFrame({
    'col1': np.random.choice(['apple', 'banana', 'cherry'], 1_000_000),
    'col2': np.random.choice(['red', 'green', 'blue'], 1_000_000),
    'col3': np.random.choice(['small', 'medium', 'large'], 1_000_000)
})

# 🔍 메모리 사용량 (변환 전)
print("변환 전 메모리 사용량:")
print(df.memory_usage(deep=True))
print("총합:", df.memory_usage(deep=True).sum() / 1024**2, "MB")

# 🔄 category 변환
df = df.astype({col: 'category' for col in ['col1', 'col2', 'col3']})

# 🔍 메모리 사용량 (변환 후)
print("\n변환 후 메모리 사용량:")
print(df.memory_usage(deep=True))
print("총합:", df.memory_usage(deep=True).sum() / 1024**2, "MB")