在Pandas类别频率表中未显示0计数

时间:2018-04-27 12:40:55

标签: python pandas categories frequency categorical-data

我使用以下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,但我没有我看过一个零频率。我认为here没有来自pandas的解决方案来处理此主题。

我的变量的dtypes是:

df.dtypes

Out[3]:
favorite_drink            category
sex                       category
title                     category
status                    category

提前感谢您对这种必要性的帮助。

1 个答案:

答案 0 :(得分:1)

您只需过滤系列:

c = df['title'].value_counts()
c = c[c > 0]