Не показывать 0 отсчетов в таблицах частот категории Pandas - PullRequest
0 голосов
/ 27 апреля 2018

Я использую следующий код 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

Заранее спасибо за помощь в подходе к этой необходимости.

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете просто отфильтровать свою серию:

c = df['title'].value_counts()
c = c[c > 0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...