python groupby 函式 as_index詳解
阿新 • • 發佈:2020-01-09
在官方網站中對as_index有以下介紹:
as_index : boolean,default True
For aggregated output,return object with group labels as the index. Only relevant for DataFrame input. as_index=False is effectively “SQL-style” grouped output
翻譯過來就是說as_index 的預設值為True, 對於聚合輸出,返回以組標籤作為索引的物件。僅與DataFrame輸入相關。as_index = False實際上是“SQL風格”的分組輸出。舉例如下
import pandas as pd df = pd.DataFrame(data={'books':['bk1','bk1','bk2','bk3'],'price': [12,12,15,17]}) print df print print df.groupby('books',as_index=True).sum() print print df.groupby('books',as_index=False).sum()
輸出如下:
books price 0 bk1 12 1 bk1 12 2 bk1 12 3 bk2 15 4 bk2 15 5 bk3 17 price books bk1 36 bk2 30 bk3 17 books price 0 bk1 36 1 bk2 30 2 bk3 17
程式碼中註釋的兩段程式碼報錯,分析可以看到:
當as_index=True時,沒有顯示索引項,而是以第一列組標籤為索引值,故不能通過df.loc[0]取值,可以通過df.loc[‘bk1']取值;
當as_index=False時,顯示索引項,此時可以通過df.loc[0]取得值。因此as_index的作用是控制聚合輸出是否以組標籤為索引值。
以上這篇python groupby 函式 as_index詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。