您的位置: 网站首页> Pandas教程> 当前文章
pandas中groupby之Grouper and axis must be same length
老董-我爱我家房产SEO2022-01-13163围观,119赞
在pandas中groupby操作是非常常见的,在分组操作中也有很多坑,你可能遇见过这个坑Grouper and axis must be same length。那么这报错的原因是什么呢?
顾名思义,就是分组所依据的序列的值和df的数据长度不一致。这么说可能比较抽象,咱们用例子说明下。
1、我们先看1个正常的分组。
一般而言,groupby列名是按照列名进行分组,但是官方文档提过groupby的参数可以是np数组(If an ndarray is passed, the values are used as-is to determine the groups.)。代码如下:
# -*- coding:utf-8 -*- df = pd.DataFrame({'Animal': ['Falcon', 'Falcon','Parrot', 'Parrot'], 'Speed': [380., 370., 24., 26.], }) values = np.array(['Falcon', 'Falcon','Parrot', 'Parrot']) print(df.groupby(values).max())
Animal Speed Falcon Falcon 380.0 Parrot Parrot 26.0
2、再看看报错Grouper and axis must be same length的分组
为我们把np数组的长度减少一点就可以看出端倪。
# -*- coding:utf-8 -*- df = pd.DataFrame({'Animal': ['Falcon', 'Falcon','Parrot', 'Parrot'], 'Speed': [380., 370., 24., 26.], }) values = np.array(['Falcon', 'Falcon','Parrot']) print(df.groupby(values).max())
...raise ValueError("Grouper and axis must be same length") ValueError: Grouper and axis must be same length
通过上面的例子就能看出来,要想避免Grouper and axis must be same length,就得让df的序列长度和要分组的序列长度保持一致。
如果想全面了解分组聚合的场景,可以参考文章pandas之groupby使用详解。
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
相关文章
文章评论
-
pandas中groupby之Grouper and axis must be same length文章写得不错,值得赞赏
站点信息
- 网站程序:Laravel
- 客服微信:a772483200