使用pandas的agg()方法统计DataFrame分组后各分组行数问题咨询
问题原因
你写的agg({'Country':count})中直接使用的count是未定义的标识符,当前运行环境没有声明这个名字对应的函数对象,执行时会直接抛出NameError错误。
正确的agg实现写法
有两种常用的可行写法:
- 直接传入pandas内置支持的聚合函数字符串
'count',pandas会自动映射到对应的计数聚合逻辑,也是最简洁的写法:
ans2 = df.groupby('Continent').agg({'Country': 'count'})
- 显式传入函数对象,需要指定完整的命名空间,比如用pandas Series内置的count方法:
import pandas as pd ans2 = df.groupby('Continent').agg({'Country': pd.Series.count})
上述两种写法得到的结果和你之前实现的ans1完全一致。
内容的提问来源于stack exchange,提问作者AlBerger
相关产品推荐
相关产品推荐

