Pandas DataFrame DataFrame.aggregate() 函数
Minahil Noor
2023年1月30日
-
pandas.DataFrame.aggregate()
语法 -
示例代码:Pandas
DataFrame.aggregate()
-
示例代码:
DataFrame.aggregate()
与多函数的关系 -
示例代码:
DataFrame.aggregate()
与指定列的聚合
pandas.DataFrame.aggregate()
函数对一个 DataFrame
的列或行进行聚合。最常用的聚合函数是 min
、max
和 sum
。这些聚合函数的结果是减小 DataFrame
的大小。
pandas.DataFrame.aggregate()
语法
DataFrame.aggregate(func, axis, *args, **kwargs)
参数
func |
它是要应用的聚合函数。它可以是可调用函数或可调用函数列表,字符串或字符串列表,或字典 |
axis |
默认为 0。如果是 0 或'index' ,则函数应用于各个列。如果是 1 或'column' ,则函数应用于各个行 |
*args |
这是一个位置型参数 |
**kwargs |
这是一个关键字参数 |
返回值
该函数返回一个标量、Series
或 DataFrame
。
- 如果用
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
聚合函数 sum
和 min
应用于各个列。
对于整数类型的列,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