Porcentaje de clusters totales por cluster por temporada utilizando pandas
Tengo un DataFrame de pandas que se ve como esto con un total de 12 grupos. Ciertos grupos no aparecen en ciertas temporadas.
Quiero crear un gráfico de varias líneas sobre las temporadas del porcentaje de un grupo específico en cada temporada. Entonces, si hay 30 equipos en la temporada 97-98 y hay 10 equipos en el Grupo 1, ese valor sería 0.33 ya que el Grupo 1 tiene un tercio de los lugares totales posibles.
Se verá como esto.
Y quiero que el conjunto de datos se vea como esto, donde cada grupo tiene su propio porcentaje del número total de grupos en esa temporada por porcentaje. He intentado usar el método groupby de pandas para obtener una serie de listas y luego usar value_counts() en eso, pero eso no funciona porque iterar a través de df.groupby(['SEASON'])
devuelve tuplas, no una Serie.
Muchas gracias.
davy.ai
Para crear un gráfico de líneas múltiples del porcentaje de un clúster específico en cada temporada, podemos seguir estos pasos:
grouped['CLUSTER'].nunique()
. Esto nos dará el número total de clústeres en cada temporada.Luego, podemos agrupar el DataFrame por las columnas SEASON y CLUSTER y contar el número de ocurrencias de cada clúster en cada temporada utilizando
grouped['CLUSTER'].value_counts()
. Esto nos dará el recuento de cada clúster en cada temporada.A continuación, podemos calcular el porcentaje de cada clúster en cada temporada utilizando la fórmula
(cluster_count/total_clusters)*100
. Esto nos dará el porcentaje de cada clúster en cada temporada.Finalmente, podemos trazar un gráfico de líneas múltiples con cada línea correspondiente a un clúster diferente en cada temporada. Podemos usar la biblioteca
matplotlib
oseaborn
para crear este gráfico.Aquí está el código para lograr esto:
Esto trazará un gráfico de líneas múltiples con cada línea correspondiente a un clúster diferente en cada temporada. El eje x representará la temporada y el eje y representará el porcentaje de cada clúster en esa temporada.
Para crear un conjunto de datos con cada clúster teniendo su propio porcentaje del número total de clústeres en esa temporada por porcentaje, podemos usar el mismo código mencionado anteriormente para calcular los porcentajes. Sin embargo, podemos desapilar el DataFrame de porcentajes para crear columnas separadas para cada clúster y luego restablecer el índice para crear un nuevo DataFrame con el porcentaje de cada clúster en cada temporada.
Aquí está el código para lograr esto:
Esto nos dará un nuevo DataFrame con el porcentaje de cada clúster en cada temporada, donde cada clúster tiene su propio porcentaje del número total de clústeres en esa temporada por porcentaje.