Фрейм данных ниже, и я хочу удалить последовательные дублированные строки, когда «Люди», «Год» и «Проект» совпадают.
Если исходный фрейм данных, как показано ниже, строки с те же «Люди», «Год», «Проект», если они последовательно, должны быть удалены.
data = {'People' : ["David","David","David","David","John","John","John"],
'Year': ["2016","2016","2017","2016","2016","2017","2017",],
'Project' : ["TN","TN","TN","TN","DJ","DM","DM"],
'Earning' : [878,682,767,620,964,610,772]}
Я пробовал это, но это не работает:
df_1 = df.loc[(df['People', 'Year', 'Project'].shift() != df['People', 'Year', 'Project'])]
попытка - эта строка удаляет непоследовательный «Дэвид, 2016, TN, 620»
df_1 = df.drop_duplicates(subset=['People','Year','Project'])
![enter image description here](https://i.stack.imgur.com/iUXp4.png)
при изменении на это сохраняет все ряды:
df_1 = df.drop_duplicates(subset=['People','Year','Project', 'Earning'])
Какой правильный способ сделать это? Спасибо!