python - tablas - seleccionar columnas en pandas
Python: obtenga un recuento de frecuencia basado en dos columnas(variables) en el marco de datos de pandas, algunas líneas aparecen (2)
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
Hola, tengo el siguiente marco de datos.
Group Size
Short Small
Short Small
Moderate Medium
Moderate Small
Tall Large
Quiero contar la frecuencia de cuántas veces aparece la misma fila en el marco de datos.
Group Size Time
Short Small 2
Moderate Medium 1
Moderate Small 1
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
EDITAR: para sacar tu puesto
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