因此,我们在 pandas 0.17
中创建了一个,其NaN值为>>> s = pd.Series(["A", "B", pd.np.nan]).astype("category")
然后我们删除未使用的类别,得出以下结果:
>>> s.cat.remove_unused_categories()
0 A
1 B
2 NaN
dtype: category
Categories (3, object): [B, A, B]
我已查看remove_unused_categories
代码,看到cat._codes
为此数据样本返回[ 0 1 -1]
。它导致3个类别而不是2个。嗯,此功能现在反过来:它添加了不需要的类别。)
答案 0 :(得分:1)
这是0.17版中已确认的错误,并已在0.17.1版中修复。
原始问题应标记为已回答。