Как мне получить индекс каждого элемента в объекте groupby в Pandas? ⇐ Python
-
Anonymous
Как мне получить индекс каждого элемента в объекте groupby в Pandas?
Я использую groupby для кадра данных на основе нужных мне столбцов, а затем мне нужно взять индекс каждого элемента в его группе. Под индексом я имею в виду, что если в группе 10 элементов, индекс изменяется от 0 до 9, а не индекс кадра данных.
Мой код для этого приведен ниже:
импортировать панд как pd df = pd.DataFrame({'A': np.random.randint(0, 11, 10 ** 3), 'B': np.random.randint(0, 11, 10 ** 3), 'C': np.random.randint(0, 11, 10 ** 3), 'D': np.random.randint(0, 2, 10 ** 3)}) grouped_by = df.groupby(["A", "B", "C"]) группы = dict(список(grouped_by)) index_dict = {k: v.index.tolist() для k,v в groups.items()} df["POS"] = df.apply(lambda x: index_dict[(x["A"], x["B"], x["C"])].index(x.name), axis=1 ) Кадр данных здесь является всего лишь примером.
Есть ли способ использовать grouped_by для достижения этой цели?
Я использую groupby для кадра данных на основе нужных мне столбцов, а затем мне нужно взять индекс каждого элемента в его группе. Под индексом я имею в виду, что если в группе 10 элементов, индекс изменяется от 0 до 9, а не индекс кадра данных.
Мой код для этого приведен ниже:
импортировать панд как pd df = pd.DataFrame({'A': np.random.randint(0, 11, 10 ** 3), 'B': np.random.randint(0, 11, 10 ** 3), 'C': np.random.randint(0, 11, 10 ** 3), 'D': np.random.randint(0, 2, 10 ** 3)}) grouped_by = df.groupby(["A", "B", "C"]) группы = dict(список(grouped_by)) index_dict = {k: v.index.tolist() для k,v в groups.items()} df["POS"] = df.apply(lambda x: index_dict[(x["A"], x["B"], x["C"])].index(x.name), axis=1 ) Кадр данных здесь является всего лишь примером.
Есть ли способ использовать grouped_by для достижения этой цели?
Мобильная версия