# Aggregate on the entire DataFrame without group
df.agg({"age": "max"}).collect()
# [Row(max(age)=5)]
from pyspark.sql import functions as F
df.agg(F.min(df.age)).collect()
# [Row(min(age)=2)]
df.groupby(lambda _ : True).agg(new_col_name = ('col_name', 'agg_function'))
def describe(df):
funcs = dict(Kurt=lambda x: x.kurt(),
Skew='skew',
Mean='mean',
Std='std')
funcs_for_all = {k: funcs for k in df.columns}
return df.groupby(lambda _ : True).agg(funcs_for_all).iloc[0].unstack().T
describe(df)