Pandas 数据帧agg()
方法
原文:https://www.studytonight.com/pandas/pandas-dataframe-agg-method
在本教程中,我们将学习 Pandas data frame . agg()方法。此方法使用指定轴(即行或列)上的一个或多个操作进行聚合。
它根据函数返回标量、序列或数据帧。当用单个函数调用 DataFrame.agg 时,它返回 Series,当用多个函数调用 DataFrame.agg 时,它返回 DataFrame。
下面展示了 Pandas 中这个函数的语法。
句法
使用该函数所需的语法如下:
DataFrame.aggregate(func=None, axis=0, *args, **kwargs)
参数
让我们看看这个函数的参数:
功能:用于汇总数据。它可以是函数、字符串函数名、函数列表或函数名。例如:[np.sum,' min']
轴:如果为 0 或“索引”,则对每列应用一个函数。如果是 1 或“列”,则为每行应用一个函数。默认轴值为 0 或“索引”。
*参数:要传递给 func 的位置参数。
**kwargs: 要传递给 func 的关键字参数。
示例:在行上用单个函数聚合数据帧
下面的例子展示了如何用单个函数应用DataFrame.agg()
方法。聚合操作总是在轴上执行。
import pandas as pd
df = pd.DataFrame([[1, 2, 3],[4, 5, 6],[7,8,9],[10,11,12]],columns=['A', 'B','C'])
print("Printing number of non-null values in DataFrame")
print(df.agg(["count"]))
print("Printing the sum of values in DataFrame")
print(df.agg(["sum"]))
一旦我们运行程序,我们将得到以下结果。
打印数据帧中非空值的数量 A B C 计数 4 4 4 打印数据帧中值的总和 A B C 总和 22 26 30
示例:在行上用单个函数聚合数据帧
下面是如何用单个函数应用DataFrame.agg()
方法的另一个例子。
import pandas as pd
df = pd.DataFrame([[1, 2, 3],[4, 5, 6],[7,8,9],[10,11,12]],columns=['A', 'B','C'])
print("Printing the minimum value in DataFrame")
print(df.agg(["min"]))
print("Printing the maximum value in DataFrame")
print(df.agg(["max"]))
一旦我们运行程序,我们将得到以下结果。
在数据帧中打印最小值 A B C 最小 1 2 3 在数据帧中打印最大值 A B C 最大 10 11 12
示例:在列上用单个函数聚合数据帧
下面的例子展示了如何用单个函数应用DataFrame.agg()
方法。聚合操作总是在一个轴上执行,这里是axis=1 or 'columns'.
import pandas as pd
df = pd.DataFrame([[1, 2, 3],[4, 5, 6],[7,8,9],[10,11,12]],columns=['A', 'B','C'])
print("Printing number of non-null values in DataFrame")
print(df.agg(["count"],axis='columns'))
print("Printing the sum of values in DataFrame")
print(df.agg(["sum"],axis='columns'))
一旦我们运行程序,我们将得到以下结果。
打印数据帧中非空值的数量 计数 0 3 1 3 2 3 3 3 打印数据帧中值的总和 总和 0 6 1 15 2 24 3 33
示例:在列上用单个函数聚合数据帧
下面是如何用单个函数应用DataFrame.agg()
方法的另一个例子。
import pandas as pd
df = pd.DataFrame([[1, 2, 3],[4, 5, 6],[7,8,9],[10,11,12]],columns=['A', 'B','C'])
print("Printing the minimum value in DataFrame")
print(df.agg(["min"],axis='columns'))
print("Printing the maximum value in DataFrame")
print(df.agg(["max"],axis='columns'))
一旦我们运行程序,我们将得到以下结果。
打印数据帧中的最小值 min 0 1 1 4 2 7 3 10 打印数据帧中的最大值 max 0 3 1 6 2 9 3 12
示例:在列上用单个函数聚合数据帧的另一个示例。
下面是如何用单个函数应用DataFrame.agg()
方法的另一个例子。
import pandas as pd
df = pd.DataFrame([[1, 2, 3],[4, 5, 6],[7,8,9],[10,11,12]],columns=['A', 'B','C'])
print("Printing the mean of values in DataFrame")
print(df.agg(["mean"],axis='columns'))
print("Printing the median of values in DataFrame")
print(df.agg(["median"],axis='columns'))
一旦我们运行程序,我们将得到以下结果。
打印数据帧中值的平均值 平均值 0 2.0 1 5.0 2 8.0 3 11.0 打印数据帧中值的中值 中值 0 2.0 1 5.0 2 8.0 3 11.0
示例:用行和列上的函数列表聚合数据帧。
下面的例子展示了如何用函数列表应用DataFrame.agg()
方法。
import pandas as pd
df = pd.DataFrame([[1, 2, 3],[4, 5, 6],[7,8,9],[10,11,12]],columns=['A', 'B','C'])
print("printing sum and min of the dataframe with default axis")
print(df.agg(["sum","min"]))
print("printing sum and min of the dataframe with the axis is equal to columns")
print(df.agg(["sum","min"],axis='columns'))
一旦我们运行程序,我们将得到以下结果。
用默认轴打印数据帧的总和和最小值 A B C 总和 22 26 30 最小值 1 2 3 用轴打印数据帧的总和和最小值等于列 总和最小值 0 6 1 1 15 4 2 24 7 3 33 10
示例:在数据帧的列上聚合不同的函数。
下面的例子展示了如何用不同的函数应用DataFrame.agg()
方法。
import pandas as pd
df = pd.DataFrame([[1, 2, 3],[4, 5, 6],[7,8,9],[10,11,12]],columns=['A', 'B','C'])
#print(df.agg(x=('A', sum), y=('B', min), z=('C', max)))
print(df.agg({'A':["sum"], 'B':["min","max"], 'C':["count"]}))
一旦我们运行程序,我们将得到以下结果。
A B C 计数 NaN NaN 4.0 最大 NaN 11.0 NaN 最小 NaN 2.0 NaN 总和 22.0 NaN
结论
在本教程中,我们学习了 DataFrame.agg()方法,这是 Pandas 的内置函数。我们通过在具有单个、多个函数和不同行和列函数的数据帧上应用这种方法来解决示例。