Skip to main content
`Ctrl`+`K`

# pandas.api.typing.DataFrameGroupBy.indices

property DataFrameGroupBy.indices

  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
      {np.int64(1): array([0, 1]), np.int64(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]})