关于pandas库中groupby函数按函数分组或函数传入参数作为索引分组的例子的猜想

1 例子:

关于pandas库中groupby函数按函数分组或函数传入参数作为索引分组的例子的猜想

关于pandas库中groupby函数按函数分组或函数传入参数作为索引分组的例子的猜想

关于pandas库中groupby函数按函数分组或函数传入参数作为索引分组的例子的猜想

        根据输出结果可以看出是根据行索引的名称的长度进行的分组, 注意这里不能在group_key后面加圆括号的原因是必须要给它参数. 如果把行索引的名称放进去会直接输出数字,而此时的行索引的名称仍然是字母, 所以还是错误的, 而为什么不加括号却能够进行分组呢, 下面说一下我的猜想


2  猜想

        首先说一下groupby函数的的原理: 

        

        对数据进行分组操作的过程可以概括为:split-apply-combine三步:

        1.按照键值(key)或者分组变量将数据分组.

        2.对于每组应用我们的函数,这一步非常灵活,可以是python自带函数,可以是我们自己编写的函数.

        3.将函数计算后的结果聚合.

            关于pandas库中groupby函数按函数分组或函数传入参数作为索引分组的例子的猜想

        所以我们刚才的例子中:

        1.首先是将df_obj3进行切片, 然后发现groupby函数里面的by的参数为group_key这个函数名(指向函数体), 这里应该是会将key(这里为行索引的名称)输入到函数里面, 返回的是长度

        2.然后会根据长度(已改变的key)进行分组

        3.最后是执行sum()函数


3 不足
        对于groupby函数的详细的执行过程还是没有能好好理解, 目前的分析比较粗略, 希望以后随着学习得深入能够更清晰的表达出来.