根据分类数据-操作,默认情况下groupby
将显示“未使用”类别:
In [118]: cats = pd.Categorical(["a","b","b","b","c","c","c"], categories=["a","b","c","d"])
In [119]: df = pd.DataFrame({"cats":cats,"values":[1,2,2,2,3,4,5]})
In [120]: df.groupby("cats").mean()
Out[120]:
values
cats
a 1.0
b 2.0
c 4.0
d NaN
如何获得删除“未使用”类别后的结果?例如
values
cats
a 1.0
b 2.0
c 4.0
4条答案
按热度按时间5lwkijsr1#
从0.23版本开始,您可以在
groupby
调用中指定observed=True
以实现所需的行为。dbf7pr2w2#
remove_unused_categories
也可以先赋值,然后再赋值
groupby
-或者,
一个二个一个一个
astype
到str
的转换-sqougxex3#
就像这样链接
dropna
:kwvwclae4#
如果要从所有分类列中删除未使用的分类,可以:
然后在调用
groupby
之前,调用: