溫馨提示×

pandas的groupby怎么使用

小億
92
2023-12-12 17:53:52
欄目: 編程語言

Pandas中的groupby函數(shù)用于對DataFrame中的數(shù)據(jù)進行分組。它可以根據(jù)某一列或多列的值將數(shù)據(jù)分成不同的組,并對每個組進行聚合操作。

以下是groupby函數(shù)的一般用法:

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

參數(shù)說明:

  • by: 指定分組的列名或列名的列表??梢允菃蝹€列名的字符串,也可以是多個列名組成的列表。
  • axis: 指定分組的軸,默認為0,表示按行分組。如果設置為1,則表示按列分組。
  • level: 如果DataFrame具有多層索引,則可以指定要分組的索引級別。
  • as_index: 是否以分組的列作為索引,默認為True。
  • sort: 分組后的結果是否根據(jù)分組鍵進行排序,默認為True。
  • group_keys: 是否在最后的結果中包含分組鍵,默認為True。
  • squeeze: 如果分組后的結果只有一列,是否將結果返回為Series,默認為False。
  • observed: 是否觀察到所有的分組鍵,默認為False。

groupby函數(shù)返回一個GroupBy對象,可以對該對象進行聚合操作,如求和、平均值等。

以下是一些常用的groupby操作示例:

# 按某一列進行分組,并計算每組的平均值
df.groupby('column_name').mean()

# 按多個列進行分組,并計算每組的和
df.groupby(['column_name1', 'column_name2']).sum()

# 對分組后的結果進行聚合操作
df.groupby('column_name').agg({'column_name1': 'sum', 'column_name2': 'mean'})

# 對分組后的結果進行迭代
for group_name, group_data in df.groupby('column_name'):
    # 操作每個分組的數(shù)據(jù)

# 對分組后的結果應用自定義的函數(shù)
df.groupby('column_name').apply(custom_function)

以上是groupby函數(shù)的基本用法,更詳細的使用方法可以參考Pandas官方文檔。

0