Pandas groupby Функция позволяет группировать ваш фрейм данных по нескольким столбцам. Вы можете использовать эту функцию, если вы используете список столбцов вместо одного столбца:
df = pd.DataFrame([
['WAKA', 2, '1'],
['WAKA-WAKA', 3, '7'],
['WAKKA', 1, '0'],
['WAKA', 2, '1'],
['WAKA-WAKA', 1, '7'],
['WAKKA', 1, '1'],
['WAKA', 5, '1'],
['WAKA-WAKA', 3, '7'],
['WAKKA', 1, '2'],
])
df.columns = ['name', 'd', 'info']
df.groupby(['name', 'd']).groups
Вернется:
{('WAKA', 2): Int64Index([0, 3], dtype='int64'),
('WAKA', 5): Int64Index([6], dtype='int64'),
('WAKA-WAKA', 1): Int64Index([4], dtype='int64'),
('WAKA-WAKA', 3): Int64Index([1, 7], dtype='int64'),
('WAKKA', 1): Int64Index([2, 5, 8], dtype='int64')}
В вашем коде вы пытаетесь сгруппировать только по имени, без диоптрии.