【问题标题】:Can a dictionary be used to make a graphic rune with matplotlib?可以用字典用matplotlib制作图形符文吗?
【发布时间】:2022-01-05 18:23:46
【问题描述】:

你需要你的帮助来解决这个问题:

我有一个 csv 文件,其中有很多列表,我将重点关注其中 2 个:

Gender(即性别):有所有男性和女性 Genero = ["Female", "Male", "Male", "Female", "Male", "Female"]

身体:具有所有物理方面。 Cuerpo =[thin, fat, muscular, thin, thin, normal]

问题是我想做一个图表显示有多少女性和男性瘦,例如:

我想用字典来做,在迭代时计算有多少女性和男性瘦,但我有一个问题,我应该把女性放在关键位置上

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

    return CC
false(524) Male(456)

第二个错误是基于我想制作图表的时候,它不让我,我不知道该怎么做。

def Grafico (Doc):
    Datos = [s.Genero == "Female" and "Male" for s in Doc if s.Cuerpo == "thin"]
    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 

我希望你的帮助 感谢您看到我的帖子

【问题讨论】:

  • 我不认为s.Genero == "Female" and "Male" 做你认为它做的事。尝试将其编写为循环并查看调试器中的值。并且不要发布代码或错误消息的图像。相反,请将它们放在您的问题中,格式正确。
  • 每个帖子只问一个问题。

标签: python csv matplotlib


【解决方案1】:

这个表达式:

    Datos = [s.Genero == "Female" and "Male" for s in Doc if s.Cuerpo == "thin"]

被解析为(s.Genero == "Female") and "Male",由于字符串“Male”总是为真,所以表达式总是为真。

如果这是您仅有的两种性别,那您为什么要检查它们?只需这样做:

    Datos = [s for s in Doc if s.Cuerpo == "thin"]

如果你真的想检查两性,你可以这样做

    Datos = [s.Genero in ("Female","Male") for s in Doc if s.Cuerpo == "thin"]

但如果每条记录都是一个或另一个似乎毫无意义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 2018-04-21
    相关资源
    最近更新 更多