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的作用是控制聚合輸出是否以組標簽為索引值。

原文:https://blog.csdn.net/buside/article/details/86597764


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM