pandas.core.groupby.SeriesGroupBy.indices#
- property SeriesGroupBy.indices[source]#
Dict {group name -> group indices}.
The dictionary keys represent the group labels (e.g., timestamps for a time-based resampling operation), and the values are arrays of integer positions indicating where the elements of each group are located in the original data. This property is particularly useful when working with resampled data, as it provides insight into how the original time-series data has been grouped.
See also
core.groupby.DataFrameGroupBy.indices
Provides a mapping of group rows to positions of the elements.
core.groupby.SeriesGroupBy.indices
Provides a mapping of group rows to positions of the elements.
core.resample.Resampler.indices
Provides a mapping of group rows to positions of the elements.
Examples
For 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).indices {'a': array([0, 1]), 'b': array([2])}
For DataFrameGroupBy:
>>> 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(by=["a"]).indices {1: array([0, 1]), 7: array([2])}
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 >>> ser.resample("MS").indices defaultdict(<class 'list'>, {Timestamp('2023-01-01 00:00:00'): [0, 1], Timestamp('2023-02-01 00:00:00'): [2, 3]})