pandas agg
import numpy as np import pandas as pd ''' 参考官网 ''' # 一普通操作 df = pd.DataFrame({'A': [1, 2, 3], 'B': [1., 2., 3.], 'C': ['foo', 'bar', 'baz'], 'D': pd.date_range('20130101', periods=3), "E": ['a', 'b', 'c']}) # print(df) res = df[['A', 'B']].agg(['min', 'max']) # print(res) # print(type(res)) res = df.agg(['min', 'max']) # print(res) # print(type(res)) ''' A B C D E 0 1 1.0 foo 2013-01-01 a 1 2 2.0 bar 2013-01-02 b 2 3 3.0 baz 2013-01-03 c A B min 1 1.0 max 3 3.0 <class 'pandas.core.frame.DataFrame'> A B C D E min 1 1.0 bar 2013-01-01 a max 3 3.0 foo 2013-01-03 c <class 'pandas.core.frame.DataFrame'> ''' df = pd.DataFrame({'A': [1, 1, 1, 2, 2], 'B': range(5), 'C': range(5)}) print(df) res=df.groupby("A") print(res) for name,gp in res: print(name) print(gp) print("***") print('####') res=df.groupby("A").count() print(res) res=df.groupby("A").sum() print(res) res=df.groupby('A').agg({'B': 'sum', 'C': 'min'}) print(res) df.groupby('A').B.agg({'foo': 'count'}) df.groupby('A').B.agg(['count']).rename(columns={'count': 'foo'}) res=df.groupby('A') .agg({'B': {'foo': 'sum'}, 'C': {'bar': 'min'}}) print(res) res=df.groupby('A').agg({'B': 'sum', 'C': 'min'}).rename(columns={'B': 'foo', 'C': 'bar'}) print(res)