首页 > 解决方案 > 使用多个尝试例外和数据帧编译代码

问题描述

我正在尝试编译一个尝试,除了代码,但我遇到了问题。有人可以告诉我我的错误在哪里吗?基本上我的代码包括从数据框中剪切行并将其粘贴到另一个数据框中,添加数学运算。我认为这没关系,因为我只是在寻找文件编译。

这是未编译的代码

for ind in final_df.index:
        try:
            final_df.loc[ind, "Energia (kcal)"] = (final_df.loc[ind, "Energia (kcal)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Energia (kcal)"] = "Valor não disponibilizado pelo tabela TACO"
       
        try:
            final_df.loc[ind, "Energia (kJ)"] = (final_df.loc[ind, "Energia (kJ)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Energia (kJ)"] = "Valor não disponibilizado pelo tabela TACO"
           
        try:
            final_df.loc[ind, "Protéina (g)"] = (final_df.loc[ind, "Protéina (g)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Protéina (g)"] = "Valor não disponibilizado pelo tabela TACO"

        try:
            final_df.loc[ind, "Lipídeos (g)"] = (final_df.loc[ind, "Lipídeos (g)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Lipídeos (g)"] = "Valor não disponibilizado pelo tabela TACO"

        try:
            final_df.loc[ind, "Colesterol (mg)"] = (final_df.loc[ind, "Colesterol (mg)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Colesterol (mg)"] = "Valor não disponibilizado pelo tabela TACO"

        try:
            final_df.loc[ind, "Carboidratos (g)"] = (final_df.loc[ind, "Carboidratos (g)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Carboidratos (g)"] = "Valor não disponibilizado pelo tabela TACO"

        try:
            final_df.loc[ind, "Fibra alimentar(g)"] = (final_df.loc[ind, "Fibra alimentar(g)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Fibra alimentar(g)"] = "Valor não disponibilizado pelo tabela TACO"

        try:
            final_df.loc[ind, "Cinzas (g)"] = (final_df.loc[ind, "Cinzas (g)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Cinzas (g)"] = "Valor não disponibilizado pelo tabela TACO"

        try:
            final_df.loc[ind, "Cálcio (mg)"] = (final_df.loc[ind, "Cálcio (mg)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Cálcio (mg)"] = "Valor não disponibilizado pelo tabela TACO"

        try:
            final_df.loc[ind, "Magnésio (mg)"] = (final_df.loc[ind, "Magnésio (mg)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Magnésio (mg)"] = "Valor não disponibilizado pelo tabela TACO" 

        try:
            final_df.loc[ind, "Magnésio (mg)"] = (final_df.loc[ind, "Magnésio (mg)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Magnésio (mg)"] = "Valor não disponibilizado pelo tabela TACO"  

        try:
            final_df.loc[ind, "Manganês (mg)"] = (final_df.loc[ind, "Manganês (mg)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Manganês (mg)"] = "Valor não disponibilizado pelo tabela TACO" 

        try:
            final_df.loc[ind, "Fósforo (mg)"] = (final_df.loc[ind, "Fósforo (mg)"] * pacient_df.loc[ind, "Quantidade (em gramas)"]) / 100
        except TypeError:
            final_df.loc[ind, "Fósforo (mg)"] = "Valor não disponibilizado pelo tabela TACO" 
.
.
.

这是我为了编译代码而尝试编写的代码。为什么它不起作用?

for ind in final_df.index:
    for col in final_df.columns[3:]: # I want only the columns after column 3
        try:
            final_df.loc[ind, col] = (final_df.loc[ind, col] * pacient_df.loc[ind, col]) / 100
        except TypeError:
            final_df.loc[ind, col] = "Valor não disponibilizado pelo tabela TACO"

谢谢!

标签: pandascompilationtry-except

解决方案


推荐阅读