랭귀지/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 → ''로 대체됨