Value_counts()在Kaggle Notebook报错但Jupyter Notebook正常的问题
解决
AttributeError: 'DataFrameGroupBy' object has no attribute 'value_counts' 问题 核心原因
本地Jupyter和Kaggle的pandas版本不匹配。DataFrameGroupBy.value_counts()是pandas 1.4.0版本才新增的功能,Kaggle环境默认安装的pandas版本低于该版本,因此无法识别这个方法,而你本地环境的pandas版本满足要求,所以能正常运行。
验证版本差异
在两个环境分别执行以下代码,确认版本:
import pandas as pd print(pd.__version__)
解决方案
方案1:升级Kaggle的pandas版本
在Kaggle Notebook的开头运行升级命令,之后重启kernel再执行你的代码:
!pip install --upgrade pandas
方案2:使用兼容低版本的替代写法
如果不想升级版本,可以改用低版本pandas支持的代码实现相同逻辑:
- 如果你是对分组后的某一列做统计:
# 原代码示例:df.groupby('category').value_counts() df.groupby('category')['target_col'].value_counts() - 如果需要多列统计,可以用
groupby+size组合:df.groupby(['col1', 'col2']).size().unstack(fill_value=0)
内容的提问来源于stack exchange,提问作者Chanel Loski
相关产品推荐
相关产品推荐

