列的组选择
当你执行 groupby 时,你可以选择单个列或列列表:
In [11]: df = pd.DataFrame([[1, 1, 2], [1, 2, 3], [2, 3, 4]], columns=["A", "B", "C"])
In [12]: df
Out[12]:
A B C
0 1 1 2
1 1 2 3
2 2 3 4
In [13]: g = df.groupby("A")
In [14]: g["B"].mean() # just column B
Out[14]:
A
1 1.5
2 3.0
Name: B, dtype: float64
In [15]: g[["B", "C"]].mean() # columns B and C
Out[15]:
B C
A
1 1.5 2.5
2 3.0 4.0
你还可以使用 agg
指定要执行的列和聚合:
In [16]: g.agg({'B': 'mean', 'C': 'count'})
Out[16]:
C B
A
1 2 1.5
2 1 3.0