利用pandas做分组聚合时,分组组名默认是变化成index,如图
grouped = tdf.groupby('uid')
mean=grouped.mean();
forwardmeandf=pd.DataFrame(mean)
代码中tdf是一个dataframe 当以uid分组,并求每组的平均值后在转化为dataframe ,组名并入到index
这样非常不方便我们通过index获取值,因为uid太长了。这个问题苦恼了我很久,终于在官方文档中看到解决方法,只要在分组的时候指定as_index=false便可。
grouped = tdf.groupby('uid',as_index=False)
mean=grouped.mean();
forwardmeandf=pd.DataFrame(mean)
结果如图
这样不但方便我们利用index做选取,而且使利用uid与没有分组的表做join也成为可能。
链接:https://blog.csdn.net/u011199646/article/details/48109839/