當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python pyspark DataFrame.groupby用法及代碼示例


本文簡要介紹 pyspark.pandas.DataFrame.groupby 的用法。

用法:

DataFrame.groupby(by: Union[Any, Tuple[Any, …], Series, List[Union[Any, Tuple[Any, …], Series]]], axis: Union[int, str] = 0, as_index: bool = True, dropna: bool = True) → DataFrameGroupBy

使用一係列列對 DataFrame 或係列進行分組。

groupby 操作涉及拆分對象、應用函數和組合結果的某種組合。這可用於對大量數據進行分組並在這些組上進行計算操作。

參數

by係列、標簽或標簽列表

用於確定 groupby 的組。如果通過 Series,則 Series 或 dict VALUES 將用於確定組。標簽或標簽列表可以通過 self 中的列傳遞給分組。

axisint,默認 0 或 ‘index’

目前隻能設置為0。

as_index布爾值,默認為真

對於聚合輸出,返回以組標簽作為索引的對象。僅與DataFrame 輸入相關。 as_index=False 實際上是 “SQL-style” 分組輸出。

dropna布爾值,默認為真

如果為 True,並且組鍵包含 NA 值,則 NA 值連同行/列將被刪除。如果為 False,NA 值也將被視為組中的鍵。

返回

DataFrameGroupBy 或 SeriesGroupBy

取決於調用對象並返回包含有關組的信息的 groupby 對象。

例子

>>> df = ps.DataFrame({'Animal': ['Falcon', 'Falcon',
...                               'Parrot', 'Parrot'],
...                    'Max Speed': [380., 370., 24., 26.]},
...                   columns=['Animal', 'Max Speed'])
>>> df
   Animal  Max Speed
0  Falcon      380.0
1  Falcon      370.0
2  Parrot       24.0
3  Parrot       26.0
>>> df.groupby(['Animal']).mean().sort_index()  
        Max Speed
Animal
Falcon      375.0
Parrot       25.0
>>> df.groupby(['Animal'], as_index=False).mean().sort_values('Animal')
... 
   Animal  Max Speed
...Falcon      375.0
...Parrot       25.0

我們也可以通過設置 dropna 參數來選擇是否在組鍵中包含 NA,默認設置為 True:

>>> l = [[1, 2, 3], [1, None, 4], [2, 1, 3], [1, 2, 2]]
>>> df = ps.DataFrame(l, columns=["a", "b", "c"])
>>> df.groupby(by=["b"]).sum().sort_index()  
     a  c
b
1.0  2  3
2.0  2  5
>>> df.groupby(by=["b"], dropna=False).sum().sort_index()  
     a  c
b
1.0  2  3
2.0  2  5
NaN  1  4

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.DataFrame.groupby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。