contar filas por cierta combinación de pandas de valores de fila
Tengo un marco de datos (df) como este:
v1 v2 v3
0 -30 -15
0 -30 -7.5
0 -30 -11.25
0 -30 -13.125
0 -30 -14.0625
0 -30 -13.59375
0 -10 -5
0 -10 -7.5
0 -10 -6.25
0 -10 -5.625
0 -10 -5.9375
0 -10 -6.09375
0 -5 -2.5
0 -5 -1.25
0 -5 -1.875
Las filas están en la misma porción si con cierto / mismov1
yv2
. En este caso, filas con([0,-30], [0,-10], [0,-5])
. Quiero dividir las filas en fragmentos y contar el número de filas en este fragmento. Si la longitud de las filas no es 6, elimine todo el fragmento, de lo contrario, conserve este fragmento.
Mis códigos aproximados:
v1_ls = df.v1.unique()
v2_ls = df.v2.unique()
for i, j in v1_ls, v2_ls:
chunk[i] = df[(df['v1'] == v1_ls[i]) & df['v2'] == v2_ls[j]]
if len(chunk[i])!= 6:
df = df[df != chunk[i]]
else:
pass
Rendimiento esperado:
v1 v2 v3
0 -30 -15
0 -30 -7.5
0 -30 -11.25
0 -30 -13.125
0 -30 -14.0625
0 -30 -13.59375
0 -10 -5
0 -10 -7.5
0 -10 -6.25
0 -10 -5.625
0 -10 -5.9375
0 -10 -6.09375
¡Gracias!