Скажем, у меня есть большой пакет данных фруктов. У меня есть тысячи строк, но только около 30 уникальных названий фруктов, поэтому я делаю этот столбец категорией:
df['fruit_name'] = df.fruit_name.astype('category')
Теперь, когда это категория, я больше не могу ее фильтровать? Например,
df_kiwi = df[df['fruit_name'] == 'kiwi']
вернет TypeError («недопустимое сравнение типов»)
Если я пытаюсь создать «фиктивный» фрейм данных и объединиться с ним, я получаю ValueError: «Вы пытаетесь слить столбцы int8 и категории ...»
df_dummy = pd.DataFrame(data={'fruit_name': 'kiwi'}, index=range(1))
df_dummy['fruit_name'] = df_dummy.fruit_name.astype('category')
df_new = df.merge(df_dummy, how="inner", on="fruit_name")
Потеряю ли я определенные функции слияния и фильтрации в категориальном столбце, или я просто делаю это неправильно (я все еще очень плохо знаком с даском и пандами). Спасибо!