Я использую следующий код Python для анализа количества уровней, которые имеет категориальная переменная, и удаляю переменные, которые имеют более 53 уровней:
df.select_dtypes(['category']).apply(lambda x: len(set(x)))
Я получаю следующий вывод:
Out[1]:
favorite_drink 35
sex 2
title 12
status 3
dtype: int64
Я вижу, что заголовок переменной имеет 12 уровней. Я хочу проанализировать значение этих 12 уровней, поэтому я использую:
df['title'].value_counts()
И я получаю сотни и сотни строк через выходные данные предыдущих значений переменной title
, которые сейчас имеют частоту 0. Я показываю только сводку в иллюстративных целях:
Out [2]:
...
361xx 0
460xx 0
178xx 0
607xx 0
Name: title, dtype: int64
Что я хотел бы сделать, так это то, что функция value_counts()
показала мне только частоту значений с частотой выше 0. Я знаю, что np.nan
значения имеют аргумент dropna = False
, но я не видел ни одного для нуля частота. Я считаю, что эта тема рассматривается здесь без решения от pandas
.
dtypes
моих переменных:
df.dtypes
Out[3]:
favorite_drink category
sex category
title category
status category
Заранее спасибо за помощь в подходе к этой необходимости.