程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

【python pandas groupby】

編輯:Python

pandas groupby 數據聚合與分組

  • GroupBy 四種分組鍵
    • DataFrame列名的值
    • 可以將分組軸向上的值和分組名稱相匹配的字典或者Series
      • Series
      • 字典
    • 與需要分組的軸向長度一致的值列表或者值數組
    • 可以在軸索引或者索引中的單個標簽上調用的函數
  • **groupby().get_group()**

groupby語法

df.groupby(
by=None,
axis=0,
level=None,
as_index: bool = True,
sort: bool = True,
group_keys: bool = True,
squeeze: bool = False,
observed: bool = False,
)

GroupBy 四種分組鍵

DataFrame列名的值

  • 其中列名可以是一個單列名,也可以是一個包含多列名的數組
  • 列名變成分組後index行索引的名字
  • as_index設成False的時候,禁用分組鍵作為行索引

可以將分組軸向上的值和分組名稱相匹配的字典或者Series

Series


字典

字典中的鍵不需要包含所有的index,也可以包含index中沒有的鍵

與需要分組的軸向長度一致的值列表或者值數組

  • 當使用值列表時,分組的index不再有默認名字

可以在軸索引或者索引中的單個標簽上調用的函數

作為分組鍵傳遞的函數將會按照每個索引值調用一次,同時返回值會被用作分組名稱。

groupby().get_group()

pandas按照列groupby後,可以按照值取對應的group。
當對多列進行groupby時,get_group時需要輸入多列值的tuple,比如get_group((‘a’, 1)),其中’a’為第一個group列中的某個值,1為第二個group列中的某個值。

import pandas as pd
df = pd.DataFrame({
'col1':['a', 'b', 'c','a', 'b', 'c'], 'col2':[1,2,3,4,5,6]})
df
>>> col1 col2
0 a 1
1 b 2
2 c 3
3 a 4
4 b 5
5 c 6
df.groupby('col1').get_group('a')
>>> col1 col2
0 a 1
3 a 4
df.groupby(['col1', 'col2']).get_group(('a', 1))
>>> col1 col2
0 a 1

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved