Pandas DataFrame DataFrame.aggregate() 函式

Minahil Noor 2023年1月30日
  1. pandas.DataFrame.aggregate() 語法
  2. 示例程式碼:Pandas DataFrame.aggregate()
  3. 示例程式碼:DataFrame.aggregate() 與多函式的關係
  4. 示例程式碼:DataFrame.aggregate() 與指定列的聚合
Pandas DataFrame DataFrame.aggregate() 函式

pandas.DataFrame.aggregate() 函式對一個 DataFrame 的列或行進行聚合。最常用的聚合函式是 minmaxsum。這些聚合函式的結果是減小 DataFrame 的大小。

pandas.DataFrame.aggregate() 語法

DataFrame.aggregate(func, axis, *args, **kwargs)

引數

func 它是要應用的聚合函式。它可以是可呼叫函式或可呼叫函式列表,字串或字串列表,或字典
axis 預設為 0。如果是 0 或'index',則函式應用於各個列。如果是 1 或'column',則函式應用於各個行
*args 這是一個位置型引數
**kwargs 這是一個關鍵字引數

返回值

該函式返回一個標量、SeriesDataFrame

  • 如果用 Series.aggressive() 呼叫一個函式,它返回一個 scalar
  • 如果用 DataFrame.agg() 呼叫一個函式,它返回一個 Series
  • 如果多個函式被呼叫 DataFrame.agg(),它返回一個 DataFrame

示例程式碼:Pandas DataFrame.aggregate()

DataFrame.agg()DataFrame.aggregate() 的別名。因為簡潔,我們最好使用別名。所以我們將在示例程式碼中使用 DataFrame.agg()

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print(dataframe)

下面是 DataFrame 的示例。

   Attendance    Name Obtained Marks
0          60  Olivia            90
1         100    John            75
2          80   Laura            82
3          78     Ben            64
4          95   Kevin            45

我們先只用一個聚合函式來檢查 DataFrame.agg() 函式。

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.agg("sum")
print(dataframe1)

輸出:

Attendance                            413
Name              OliviaJohnLauraBenKevin
Obtained Marks                        356
dtype: object

聚合函式 sum 被應用於各個列。

對於整數型別的列,它生成了和;對於字串型別的列,它對字串進行了連線。dtype: object 表示出了函式返回 Series

示例程式碼:DataFrame.aggregate() 與多函式的關係

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.agg(["sum", "min"])
print(dataframe1)

輸出:

     Attendance                     Name  Obtained Marks
sum         413  OliviaJohnLauraBenKevin             356
min          60                      Ben              45

聚合函式 summin 應用於各個列。

對於整數型別的列,min 函式生成了最小值,對於字串型別的列,它顯示了最小長度的字串。

示例程式碼:DataFrame.aggregate() 與指定列的聚合

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)

dataframe1 = dataframe.agg({"Obtained Marks": "sum"})
print(dataframe1)

輸出:

Obtained Marks    356
dtype: int64

返回單列之和。dtype: int64 表明該函式返回了一個 Series

我們也可以在一列上應用多個函式。

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 78, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 90, 1: 75, 2: 82, 3: 64, 4: 45},
    }
)
dataframe1 = dataframe.agg({"Obtained Marks": ["sum", "max"]})
print(dataframe1)

輸出:

     Obtained Marks
sum             356
max              90

相關文章 - Pandas DataFrame