У меня есть повторяющийся список пар «Имя сотрудника-квалификация-ценность», взятых из сводных данных Excel. Я загрузил данные во фрейм данных Staff, который выглядит так:
Name Skill Attribute Value
Bob S Certification ACA
Bob S Certification GSA
Bob S Degree Comp Sci
Kate Certification BCA
Теперь я хочу вернуть данные в Python, чтобы они
Name Certification Degree
Bob S ACA Comp Sci
Bob S GSA Lit
Kate BCA None
Когда я пытаюсь развернуться в python с помощью:
Staff=Staff.drop_duplicates([‘Name’,’Skill Attribute’])
Staff=Staff.pivot(‘Name’, ‘Skill Attribute’, ‘Value)
Я теряю ценность данных. Например, у Bob S две сертификации, но только одна показывает:
Name Certification Degree
Bob S ACA Comp Sci
Kate BCA None
Попытка использовать функцию поворота без предшествующей строки drop_duplicates приводит к ошибке «ValueError: индекс содержит повторяющиеся записи, не может изменить форму»
Как я могу сделать так, чтобы все данные о значениях сохранялись, и чтобы для каждого сотрудника было разрешено несколько записей значений атрибутов навыков?
Сертификатам не присваиваются степени. Дипломы и сертификаты - это независимые значения, которые являются атрибутами, описывающими сотрудника. Это данные сотрудников, которые я пытаюсь отобразить в развернутом формате. Например, у сотрудника есть SSN и дата рождения, которые сохраняются, но не связаны между собой. Это независимые атрибуты сотрудника.






df.set_index(
['Name', df.groupby(['Name', 'Skill Attribute']).cumcount(), 'Skill Attribute']
).Value.unstack().reset_index('Name').rename_axis(None, 1).reset_index(drop=True)
Name Certification Degree
0 Bob S ACA Comp Sci
1 Bob S GSA None
2 Kate BCA None
как я (или программа) узнаю, какую степень присвоить сертификату? Почему
ACAБоба - этоComp Sci, аGSA- этоLit?