DataFrame执行groupby聚合操作后,如何继续保持DataFrame对象而不变成Series对象

最近在做京东jdata算法比赛,刚接触pandas不久,在处理特征时,碰到一个恶心的问题:用groupby聚合后,之前的dataframe对象变成了series对象,聚合的字段变成了索引index,导致获取这些字段时很麻烦,后面发现reset_index()这个函数,兼职完美的解决了我的需求。


元素数据如下:

DataFrame执行groupby聚合操作后,如何继续保持DataFrame对象而不变成Series对象_第1张图片


聚合后变成了这样:


DataFrame执行groupby聚合操作后,如何继续保持DataFrame对象而不变成Series对象_第2张图片

尝试这样访问按照column的方式获取值,结果报错了,后面发现已经变成了Series对象了,不是DataFrame了

DataFrame执行groupby聚合操作后,如何继续保持DataFrame对象而不变成Series对象_第3张图片

可是我还想把sku_id 和type这2个字段作为column呀。。。诶 233。。


于是乎终于找到了这个函数reset_index()

DataFrame执行groupby聚合操作后,如何继续保持DataFrame对象而不变成Series对象_第4张图片


由变成DataFrame对象了,完美解决问题

DataFrame执行groupby聚合操作后,如何继续保持DataFrame对象而不变成Series对象_第5张图片

你可能感兴趣的:(pandas,python)