我有一个问题,如何计算在pandas数据框的每列中出现的唯一值的数量?
假设我有一个名为df的数据框,如下所示:
1 2 3 4
a yes f c
b no f e
c yes d h
我想获得显示四列中唯一值的频率的输出 . 输出将类似于此:
Column # of Unique Values
1 3
2 2
3 2
4 3
我不需要知道唯一值是什么,每列中有多少 .
我玩过类似的东西:
df[all_cols].value_counts()
[all_cols]是数据框中所有列的列表 . 但这是计算值在列中出现的次数 .
任何意见/建议都会有很大帮助 . 谢谢
1 回答
你可以
apply
Series.nunique
:或者您可以在框架的未堆叠版本上执行
groupby/nunique
:这两个都会生成一个Series,然后您可以使用它来构建一个具有您想要的任何列名称的框架 .