pandas.core.groupby.SeriesGroupBy.__iter__#

SeriesGroupBy.__iter__()[source]#

Groupby iterator.

This method provides an iterator over the groups created by the resample or groupby operation on the object. The method yields tuples where the first element is the label (group key) corresponding to each group or resampled bin, and the second element is the subset of the data that falls within that group or bin.

Returns:
Iterator

Generator yielding a sequence of (name, subsetted object) for each group.

See also

Series.groupby

Group data by a specific key or column.

DataFrame.groupby

Group DataFrame using mapper or by columns.

DataFrame.resample

Resample a DataFrame.

Series.resample

Resample a Series.

Examples

For SeriesGroupBy:

>>> lst = ["a", "a", "b"]
>>> ser = pd.Series([1, 2, 3], index=lst)
>>> ser
a    1
a    2
b    3
dtype: int64
>>> for x, y in ser.groupby(level=0):
...     print(f"{x}\n{y}\n")
a
a    1
a    2
dtype: int64
b
b    3
dtype: int64

For DataFrameGroupBy:

>>> data = [[1, 2, 3], [1, 5, 6], [7, 8, 9]]
>>> df = pd.DataFrame(data, columns=["a", "b", "c"])
>>> df
   a  b  c
0  1  2  3
1  1  5  6
2  7  8  9
>>> for x, y in df.groupby(by=["a"]):
...     print(f"{x}\n{y}\n")
(1,)
   a  b  c
0  1  2  3
1  1  5  6
(7,)
   a  b  c
2  7  8  9

For Resampler:

>>> ser = pd.Series(
...     [1, 2, 3, 4],
...     index=pd.DatetimeIndex(
...         ["2023-01-01", "2023-01-15", "2023-02-01", "2023-02-15"]
...     ),
... )
>>> ser
2023-01-01    1
2023-01-15    2
2023-02-01    3
2023-02-15    4
dtype: int64
>>> for x, y in ser.resample("MS"):
...     print(f"{x}\n{y}\n")
2023-01-01 00:00:00
2023-01-01    1
2023-01-15    2
dtype: int64
2023-02-01 00:00:00
2023-02-01    3
2023-02-15    4
dtype: int64