如何统计数据集中quality列的唯一值数量?代码报错求修正
解决方法:统计quality列的唯一值数量 & 修正你的代码问题
首先,咱们先搞定核心需求——统计quality列的唯一值数量,有两种简单直接的方法:
方法1:使用
nunique()(推荐)
这是Pandas专门用来统计Series唯一值数量的函数,一行代码就能得到结果:df['quality'].nunique()执行后会直接返回
quality列里不同值的个数。方法2:先获取唯一值数组再取长度
如果你还想先看看具体有哪些唯一值,可以先用unique()拿到所有唯一值,再用len()统计数量:# 先查看所有唯一值 unique_qualities = df['quality'].unique() print(unique_qualities) # 再统计数量 unique_count = len(unique_qualities)
接下来说说你原来代码的问题:
你写的df.pd.groupby('quality').unique()有两个明显错误:
- 语法错误:
pd是Pandas库的别名,DataFrame对象(也就是你的df)不需要通过.pd来调用方法,正确的分组写法是df.groupby('quality'),而不是df.pd.groupby。 - 逻辑错误:就算修正了语法,
groupby('quality').unique()也不是用来统计列的唯一值数量的——groupby是用来按quality分组,之后的unique()会对每个分组里的其他列去重,完全不是你想要的统计当前列唯一值的逻辑。
内容的提问来源于stack exchange,提问作者Dilyana Flower
相关产品推荐
相关产品推荐

