랭귀지/pandas

카테고리타입

유키공 2025. 7. 25. 09:53
import pandas as pd

def add_blank_category_or_fillna(series):
    try:
        if pd.api.types.is_categorical_dtype(series):
            # ''가 이미 포함되어 있는지 확인
            if '' not in series.cat.categories:
                return series.cat.add_categories([''])
            else:
                return series
        else:
            return series.fillna('')
    except Exception as e:
        print(f"예외 발생: {e}")
        return series
# category 타입
s1 = pd.Series(['a', 'b', None], dtype='category')
s1 = add_blank_category_or_fillna(s1)
print(s1.cat.categories)  # ['a', 'b', '']

# object 타입
s2 = pd.Series(['x', None, 'y'])  # dtype = object
s2 = add_blank_category_or_fillna(s2)
print(s2)  # NaN → ''로 대체됨