天天看點

python的groupby中函數詳解_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','bk1','bk2','bk2','bk3'], 'price': [12,12,12,15,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詳解就是小編分享給大家的全部内容了,希望能給大家一個參考,也希望大家多多支援我們。

時間: 2019-12-15