Подсчет экземпляров повторяющегося значения после использования groupby для столбца - PullRequest
1 голос
/ 10 июля 2019

Я работаю над набором данных, который выглядит следующим образом:

col1
person1  gene1
person1  gene1
person1  gene2
person1  gene3
person1  gene4
person2  gene1
person2  gene2
person2  gene3
person2  gene4
person3  gene1

person3  gene1
person3  gene1
person3  gene2
person3  gene3
person3  gene3
person3  gene4

Для каждого человека я хочу посчитать, сколько раз ген появляется более одного раза.

Например, в представленном выше случае у person1 дублирован ген 1, у person2 нет дублированных генов, а у person3 дублирован ген1 и ген3. Таким образом, я хотел бы, чтобы мой код выводил 3.

Я знаю, что есть дублированный код панд: DataFrame.duplicated (subset = None, keep = 'first')

Однако, пытаясь применить его к моему фрейму данных, мне все время говорят, что мне нужно его применить?

Спасибо

Я добавил пояснения для дополнительной помощи:

person1 gene1
person1 gene1
person1 gene2
person1 gene2
person2 gene1
person2 gene1
person3 gene1
person3 gene1
person3 gene2
person3 gene2
person3 gene2

1 Ответ

1 голос
/ 10 июля 2019

Вы можете сделать с size

df.groupby([*df.columns]).size().gt(1).sum()
Out[37]: 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...