Ответ 1
Вы хотите следующее:
In [20]:
df.groupby(['Name','Type','ID']).count().reset_index()
Out[20]:
Name Type ID Count
0 Book1 ebook 1 2
1 Book2 paper 2 2
2 Book3 paper 3 1
В вашем случае совпадения "Имя", "Тип" и "ID" соответствуют значениям, поэтому мы можем groupby
, вызовите count
, а затем reset_index
.
Альтернативным подходом было бы добавить столбец "Count" с помощью transform
, а затем вызвать drop_duplicates
:
In [25]:
df['Count'] = df.groupby(['Name'])['ID'].transform('count')
df.drop_duplicates()
Out[25]:
Name Type ID Count
0 Book1 ebook 1 2
1 Book2 paper 2 2
2 Book3 paper 3 1