我正在尝试将特定值 ( 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_Btest = age_convert(1)print(test)
1 回答

噜噜哒
TA贡献1784条经验 获得超7个赞
您是否尝试将值明确地转换为Integer?
无论如何,这似乎不是检查值是否在 DataFrame 中的最佳方法,因为 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
添加回答
举报
0/150
提交
取消