Los pandas obtienen una cuenta de un par de elementos en dos columnas

print(d.groupby(['ip', 'useragent']).size().reset_index().rename(columns={0:''}))
Horrible Hoopoe