Tengo una lista de tuplas como esta:
a = [(1, 0.0), (1, 1.0), (1, 0.0), (2, 0.36034115138592754), (1, 1.0),
(1, 0.0), (2, 0.0), (3, 0.9999999999999991), (4, 0.0), (5, 0.0),
(6, -1.0000000000000002), (7, 0.9999999999999999), (8, 1.0000000000000002), (9, 1.0),
(10, 0.0), (1, 1.0), (1, 0.0)]
Me gustaría dividirlo cada vez que el primer elemento es 1. He intentado con el groupby, pero necesito tener una lista diferente de tuplas cada vez porque luego tengo que trazarlo y cada una de estas tuplas es un punto específico. Mi resultado esperado sería:
[(1, 0.0)]
[(1, 1.0)]
[(1, 0.0), (2, 0.36034115138592754)]
[(1, 1.0)]
[(1, 0.0), (2, 0.0), (3, 0.9999999999999991), (4, 0.0), (5, 0.0),
(6, -1.0000000000000002), (7, 0.9999999999999999), (8, 1.0000000000000002), (9, 1.0), (10, 0.0)]
[(1, 1.0)]
[(1, 0.0)]
Aquí publico la solución de @Mustafa Aydin para que otros usuarios puedan encontrar la solución pronto.
inds, = np.nonzero(np.array(a)[:, 0] == 1)
[sub.tolist() for sub in np.split(a, inds) if sub.size]
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras