pandas.core.groupby.DataFrameGroupBy.size#

DataFrameGroupBy.size()[源代码]#

计算组大小。

返回:
DataFrame 或 Series

如果 as_index 为 True,则为每个组的行数作为 Series;如果 as_index 为 False,则为 DataFrame。

参见

Series.groupby

对一个Series应用一个groupby函数。

DataFrame.groupby

对DataFrame的每一行或每一列应用一个groupby函数。

示例

对于 SeriesGroupBy:

>>> lst = ["a", "a", "b"]
>>> ser = pd.Series([1, 2, 3], index=lst)
>>> ser
a     1
a     2
b     3
dtype: int64
>>> ser.groupby(level=0).size()
a    2
b    1
dtype: int64
>>> data = [[1, 2, 3], [1, 5, 6], [7, 8, 9]]
>>> df = pd.DataFrame(
...     data, columns=["a", "b", "c"], index=["owl", "toucan", "eagle"]
... )
>>> df
        a  b  c
owl     1  2  3
toucan  1  5  6
eagle   7  8  9
>>> df.groupby("a").size()
a
1    2
7    1
dtype: int64

对于重采样器:

>>> ser = pd.Series(
...     [1, 2, 3],
...     index=pd.DatetimeIndex(["2023-01-01", "2023-01-15", "2023-02-01"]),
... )
>>> ser
2023-01-01    1
2023-01-15    2
2023-02-01    3
dtype: int64
>>> ser.resample("MS").size()
2023-01-01    2
2023-02-01    1
Freq: MS, dtype: int64