pandas中的groupby函数功能就如同字面意思,通过某个特征将数据组织起来。只不过其返回值不是DataFrame,而是另一种形式,所以没法直接将groupby的返回值输出出来,其返回值常与.mean()/.count()/.median()等搭配起来输出,下面通过例子说明。
我们可以看出,直接输出返回值是一个重构格式的DataFrame对象,没法直接拿来用。刚刚说了,groupby的作用是通过某个特征(这里就是“key1”)来组织数据,那这个返回值到底是什么样的形式呢?
返回值是个重构格式的DataFrame,虽然没法直接输出出来,但其实返回值我们可以理解它长这样: 回想刚刚说的,是不是就是按照“key1”这个特征将数据重新组织起来了,当然这都是我们自己这么理解的,实际可能更复杂。
我们搭配mean()求均值:
df.groupby(['key1']).mean()因为“key2”这列都是字符串,所以没法求均值,最后输出没有“key2”这一列,很好理解对吧。
上面我们只通过“key1”这一个特征来重新组织数据,如果我们想用"key1"和"key2"两个特征来重新组织呢?那就传两个特征进去:
df.groupby(['key1','key2'])同理,这时我们可以理解返回值长这样:(实际返回值不是这样的,但我们可以这么理解) 求一下均值看看:
df.groupby(['key1','key2']).mean()END