猿问

逻辑不起作用 - 匹配列表中的年龄值

我正在尝试将特定值 ( val_A) 与我val_B在 csv 格式的列表 ( ) 中的年龄匹配。


我正在使用下面的 Python 代码,但它从未满足前两个标准。


最后两个elif和else语句都在起作用,并且几乎总是else应用标准。


def age_convert(val_A):

    val_B = 1

    ages = pd.read_csv('age.csv')

    #print(ages)


    if val_A in ages:

        val_B = val_A

    elif val_A>91:

        val_B=91

    elif val_A<0:

        val_B=val_A*-1

    elif val_A==86:

        val_B=val_A+2

    else:

        val_B=val_A+1

        print('I went through the else')


    return val_B


test = age_convert(1)


print(test)


料青山看我应如是
浏览 148回答 1
1回答

噜噜哒

您是否尝试将值明确地转换为Integer?无论如何,这似乎不是检查值是否在 DataFrame 中的最佳方法,因为 DF“中”的元素是列名。而不是检查它是否在 df.values 中:>>> df&nbsp; &nbsp; A&nbsp; &nbsp;B&nbsp; &nbsp;C&nbsp; &nbsp;D0&nbsp; 10&nbsp; 11&nbsp; 12&nbsp; 13>>> 'A' in dfTrue>>> 10 in dfFalse>>> 10 in df.valuesTrue
随时随地看视频慕课网APP

相关分类

Python
我要回答