如何统计pandas DataFrame指定列的唯一值总数量?
解决方案
你可以通过以下两种方式实现需求:
方法1:基于你已有的
value_counts()结果直接取长度
代码示例:# 直接获取value_counts返回结果的行数,即为唯一值总个数 unique_count = len(df['value'].value_counts())原理:
value_counts()返回的是索引为列唯一值、值为对应出现频次的Series结构,用len()统计该Series的行数就能得到唯一值的总数量。方法2:使用pandas内置
nunique()方法直接统计(更推荐)
代码示例:# 无需先计算频次分布,直接返回唯一值总数 unique_count = df['value'].nunique()额外说明:默认
nunique()会自动排除NaN值,如果需要把NaN也计入唯一值总数,可以加上参数dropna=False:unique_count = df['value'].nunique(dropna=False)
内容的提问来源于stack exchange,提问作者Ricachu
相关产品推荐
相关产品推荐

