Python: obtenga un recuento de frecuencia basado en dos columnas (variables) en el dataframe de pandas en algunas filas

Hola tengo el siguiente dataframe.

Group Size Short Small Short Small Moderate Medium Moderate Small Tall Large 

Quiero contar la frecuencia de la cantidad de veces que aparece la misma fila en el dataframe.

  Group Size Time Short Small 2 Moderate Medium 1 Moderate Small 1 Tall Large 1 

Puedes usar el size de groupby:

 In [11]: df.groupby(["Group", "Size"]).size() Out[11]: Group Size Moderate Medium 1 Small 1 Short Small 2 Tall Large 1 dtype: int64 In [12]: df.groupby(["Group", "Size"]).size().reset_index(name="Time") Out[12]: Group Size Time 0 Moderate Medium 1 1 Moderate Small 1 2 Short Small 2 3 Tall Large 1 

También puedes probar pd.crosstab()

 Group Size Short Small Short Small Moderate Medium Moderate Small Tall Large pd.crosstab(df.Group,df.Size) Size Large Medium Small Group Moderate 0 1 1 Short 0 0 2 Tall 1 0 0 

EDIT: con el fin de obtener su salida

 pd.crosstab(df.Group,df.Size).replace(0,np.nan).\ stack().reset_index().rename(columns={0:'Time'}) Out[591]: Group Size Time 0 Moderate Medium 1.0 1 Moderate Small 1.0 2 Short Small 2.0 3 Tall Large 1.0