У меня есть датафрейм, в котором я хотел бы определить, сколько уникальных видов птиц видел каждый человек, принявший участие в моем «Большом году».
Я пытался использовать списки и циклы for, чтобы перебрать каждую строку и определить, является ли она уникальной, с помощью .is_unique (), но это, кажется, является источником многих моих проблем.Я могу получить список всех уникальных видов с помощью .unique (), довольно приятно, но я бы хотел как-то получить людей, связанных с этими птицами.
df = pd.DataFrame({'Species':['woodpecker', 'woodpecker', 'dove', 'mockingbird'], 'Birder':['Steve', 'Ben','Ben','Greg']})
ben_unique_bird = [x for x in range(len(df['Species'])) if df['Birder'][x]=='Ben' and df['Species'][x].is_unique()]
Редактировать: Я думаю, что я неясенв этом я хочу получить список птиц, которые каждый человек видел, что никто другой не видел.Таким образом, результат будет примерно таким (Steve, 0), (Ben, 1), (Greg, 1) в любом формате.
Спасибо!