Удаление одного исходного значения при наличии нескольких источников

#python #pandas #pandas-groupby

#python #панды #pandas-groupby

Вопрос:

У меня есть следующий набор данных:

 year    ID    Source Category Value
2010     1     A      P         10
2010     1     B      P         15
2010     1     A      q         20
2011     2     A      P         12
2011     2     B      q         15

 

Я хочу реорганизовать набор данных следующим образом:

 year    ID    Source Category Value
2010     1     A      P         10
2010     1     A      q         20
2011     2     A      P         12
2011     2     B      q         15

 

В word, в каждом году, для каждой категории, если у нас есть значение из нескольких источников (A, B), мы отбросим исходное значение B. Но если есть только исходное значение B , то мы сохраним его.

Я попытался исправить это, используя df.groupby().count().replace('count') not working . Есть предложения по устранению этой проблемы?

Комментарии:

1. Является ли заглавная и малая P буквы в category столбце преднамеренными или это просто опечатка?

2. извините, все заглавные буквы P

Ответ №1:

Попробуйте

 df.drop_duplicates(subset=['year', 'Category'], keep="first")