分组过程如下图所示:
import numpy as np
import pandas as pd
df=pd.DataFrame({'key1':list('aabbab'),
'key2':list('cccddd'),
'value1':np.arange(1,7),
'value2':np.arange(7,13)})
df
key1 key2 value1 value2
0 a c 1 7
1 a c 2 8
2 b c 3 9
3 b d 4 10
4 a d 5 11
5 b d 6 12
### 用key1分组后创建了一个GroupBy对象,后面函数的任何操作都是基于这个对象的,这一步没有进行运算。
df['value1'].groupby(df['key1']
<pandas.core.groupby.groupby.SeriesGroupBy object at 0x0000000008D74F60>
group=df['value1'].groupby(df['key1'])
group.mean() ### 分组后求平均
key1
a 2.666667
b 4.333333
group.max() ###