get_unique_index_positions
- trashpanda.get_unique_index_positions(source_with_duplicates: pandas.core.series.Series, keep: Union[str, bool] = 'first') pandas.core.indexes.base.Index
- trashpanda.get_unique_index_positions(source_with_duplicates: pandas.core.frame.DataFrame, keep: Union[str, bool] = 'first') pandas.core.indexes.base.Index
Determines positions of unique indexes from a Series or DataFrame.
Notes
This method assumes duplicates are within the frame with duplicates. Check with index.is_unique beforehand.
- Parameters
source_with_duplicates (Union[Series, DataFrame]) – Series or DataFrame with duplicated indexes.
keep (Union[str, bool]) – Determines which duplicates to keep. - first: Default; keeps all first occurrences of duplicated indexes. - last: Keeps all last occurrences of duplicated indexes. - False: Drops all duplicated indexes.
- Returns
pandas.Index
Examples
>>> from pandas import DataFrame >>> import numpy as np >>> from doctestprinter import doctest_print >>> sample_frame = pandas.DataFrame( ... np.arange(5), ... columns=["iloc"], ... index=pandas.Index(['a', 'a', 'b', 'b', 'c'], name="index") ... ) >>> doctest_print(sample_frame) iloc index a 0 a 1 b 2 b 3 c 4
Keeping the first occurrence.
>>> get_unique_index_positions(sample_frame, "first") Int64Index([0, 2, 4], dtype='int64')
Keeping the last occurrence.
>>> get_unique_index_positions(sample_frame, "last") Int64Index([1, 3, 4], dtype='int64')
Dropping all duplicates.
>>> get_unique_index_positions(sample_frame, False) Int64Index([4], dtype='int64')