Какой тип данных и dtype для gender

«Какой тип данных и dtype для gender» — вопрос из категории Pandas, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для хранения пола (gender) в pandas обычно используют:

  • Тип данных: категориальный (категория)
  • Dtype: category (для pandas) или string (если нужны строки)

Пример:

import pandas as pd

df = pd.DataFrame({'gender': ['Male', 'Female', 'Non-binary']})
df['gender'] = df['gender'].astype('category')  # Оптимально для хранения
# или
df['gender'] = df['gender'].astype('string')    # Если нужны строковые операции

Почему category?

  • Экономит память (особенно при повторяющихся значениях)
  • Ускоряет группировки/агрегации
  • Сохраняет логическую семантику (пол — это фиксированный набор значений)

Для SQL аналог — ENUM или VARCHAR с ограничениями.