Pandas DataFrame DataFrame.aggregate() 函数

Minahil Noor 2023年1月30日 2020年6月17日
  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