Aggregate using one or more operations over the specified axis.
Parameters: |
-
func : function, str, list or dict -
Function to use for aggregating the data. If a function, must either work when passed a DataFrame or when passed to DataFrame.apply. Accepted combinations are: - function
- string function name
- list of functions and/or function names, e.g.
[np.sum, 'mean']
- dict of axis labels -> functions, function names or list of such.
-
axis : {0 or ‘index’, 1 or ‘columns’}, default 0 -
If 0 or ‘index’: apply function to each column. If 1 or ‘columns’: apply function to each row. - *args
-
Positional arguments to pass to func . - **kwargs
-
Keyword arguments to pass to func . |
Returns: |
- scalar, Series or DataFrame
-
The return can be: - scalar : when Series.agg is called with single function
- Series : when DataFrame.agg is called with a single function
- DataFrame : when DataFrame.agg is called with several functions
Return scalar, Series or DataFrame. - The aggregation operations are always performed over an axis, either the
- index (default) or the column axis. This behavior is different from
-
numpy aggregation functions (mean, median, prod, sum, std, -
var), where the default is to compute the aggregation of the flattened -
array, e.g., numpy.mean(arr_2d) as opposed to -
numpy.mean(arr_2d, axis=0). -
agg is an alias for aggregate. Use the alias. |
See also
-
DataFrame.apply
- Perform any type of operations.
-
DataFrame.transform
- Perform transformation type operations.
-
core.groupby.GroupBy
- Perform operations over groups.
-
core.resample.Resampler
- Perform operations over resampled bins.
-
core.window.Rolling
- Perform operations over rolling window.
-
core.window.Expanding
- Perform operations over expanding window.
-
core.window.EWM
- Perform operation over exponential weighted window.
Notes
agg
is an alias for aggregate
. Use the alias.
A passed user-defined-function will be passed a Series for evaluation.
Examples
>>> df = pd.DataFrame([[1, 2, 3],
... [4, 5, 6],
... [7, 8, 9],
... [np.nan, np.nan, np.nan]],
... columns=['A', 'B', 'C'])
Aggregate these functions over the rows.
>>> df.agg(['sum', 'min'])
A B C
sum 12.0 15.0 18.0
min 1.0 2.0 3.0
Different aggregations per column.
>>> df.agg({'A' : ['sum', 'min'], 'B' : ['min', 'max']})
A B
max NaN 8.0
min 1.0 2.0
sum 12.0 NaN
Aggregate over the columns.
>>> df.agg("mean", axis="columns")
0 2.0
1 5.0
2 8.0
3 NaN
dtype: float64