逻辑不工作 - 列表中的匹配值与年龄

Logic not working - matching values with ages in a list

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

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

最后两个 elifelse 语句有效,并且几乎总是应用 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)

您是否尝试过将值显式转换为 Integer

无论如何,这似乎不是检查一个值是否在 DataFrame 中的最佳方法,因为 "in" DF 的元素是列名。而不是检查它是否在 df.values:

>>> df
    A   B   C   D
0  10  11  12  13
>>> 'A' in df
True
>>> 10 in df
False
>>> 10 in df.values
True