1. 程式人生 > 程式設計 >python groupby 函式 as_index詳解

python groupby 函式 as_index詳解

在官方網站中對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詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。