Вот минимальный воспроизводимый пример:
Код: Выделить всё
import pandas as pd
df = pd.DataFrame({
'group': ['A','A','B','B','B'],
'value': [1,2,1,2,2]
}, index=[0,1,1,2,3]) # note the duplicate index: 1 appears twice
result = df.groupby('group').apply(lambda g: g)
print(result)
Код: Выделить всё
group value
group
A A 1
A 2
B B 1
B 2
B 2
Код: Выделить всё
df2 = df.reset_index(drop=True)
result2 = df2.groupby('group').apply(lambda g: g)
print(result2)
Почему наличие повторяющихся значений индекса влияет на то, как groupby().apply() создает возвращаемый индекс? Как правильно сохранить исходные строки и избежать неожиданного вложения индексов при применении функций?>
Подробнее здесь: https://stackoverflow.com/questions/798 ... roups-when
Мобильная версия