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)

