es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Se puede utilizar un diccionario para crear un gráfico de runas con matplotlib?

Necesito tu ayuda para resolver este problema:

Tengo un archivo csv que contiene muchas listas, en esas listas me voy a enfocar en 2:

Sexo: contiene hombres y mujeres
Genero = [“Female”, “Male”, “Male”, “Female”, “Male”, “Female”]

Cuerpo: contiene todos los aspectos físicos.
Cuerpo = [“delgado”, “gordo”, “musculoso”, “delgado”, “delgado”, “normal”]

El problema es que quiero hacer un diagrama que muestre cuántas mujeres y hombres son delgados, por ejemplo:

Diagrama

Y quiero hacerlo utilizando diccionarios que, al iterarlos, calculen cuántas mujeres y hombres son delgados, pero tengo un problema: obtengo “false” en la clave cuando debería poner “mujeres”.

def Grafico(Doc):
    Datos = [s.Genero == "Female" and "Male" for s in Doc if s.Cuerpo == "delgado"]
    CC = {Ca: Datos.count(Ca) * 100 / 1000 for Ca in Datos if Ca != ""}
    return CC
false(524) Male(456)

El segundo error se basa en el hecho de que cuando intento hacer el diagrama, no me deja y no sé qué hacer.

“`python
def Grafico(Doc):
Datos = [s.Genero == “Female” and “Male” for s in Doc if s.Cuerpo == “delgado”]
CC = {Ca: Datos.count(Ca) * 100 / 1000 for Ca in Datos if Ca != “”}
plt.bar(CC.keys(), CC.values())
plt.xlabel(‘SEXO DE LOS DESAPARECIDOS’)
plt.xlabel(‘Tipo_de_sangre de sangre’)
plt.title(‘CUANTAS PERSONAS TIENEN ‘)
plt.legend(loc=’lower right’)
plt.show()
return

Espero tu ayuda. Gracias por ver mi publicación.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución:

    Primero, necesitamos corregir el código para contar el número de hombres y mujeres delgados por separado. Podemos usar un diccionario para almacenar los conteos para cada género.

    def contar_delgados_por_genero(data):
        conteos = {"Femenino": 0, "Masculino": 0}
        for i in range(len(data["Género"])):
            if data["Cuerpo"][i] == "delgado":
                conteos[data["Género"][i]] += 1
        return conteos
    

    Esta función toma los datos como entrada y devuelve un diccionario con los conteos de hombres y mujeres delgados.

    Luego, podemos usar esta función para graficar los resultados usando un gráfico de barras.

    import matplotlib.pyplot as plt
    
    def graficar_delgados_por_genero(data):
        conteos = contar_delgados_por_genero(data)
        etiquetas = list(conteos.keys())
        valores = list(conteos.values())
        plt.bar(etiquetas, valores)
        plt.xlabel('Género')
        plt.ylabel('Cantidad')
        plt.title('Número de Hombres y Mujeres Delgados')
        plt.show()
    

    Esta función toma los datos como entrada, llama a la función contar_delgados_por_genero para obtener los conteos y luego usa matplotlib para graficar el gráfico de barras.

    Finalmente, podemos llamar a la función graficar_delgados_por_genero con nuestros datos para obtener el gráfico deseado.

    data = {"Género": ["Femenino", "Masculino", "Masculino", "Femenino", "Masculino", "Femenino"], 
            "Cuerpo": ["delgado", "gordo", "musculoso", "delgado", "delgado", "normal"]}
    graficar_delgados_por_genero(data)
    

    Esto debería producir el siguiente gráfico:

    gráfico

Comments are closed.