首页 > 解决方案 > If、Elif、Else 仅返回“IF”值

问题描述

我正在基于另一列创建一个带有“if、elif、else”的新列

我的语法只生成“if”语句中列出的值,但是它应该为另一列中的某些值返回“elif”和“else”。

我创建的变量是 OHX02N,基于 OHX02CTC,我得到 3,这是我的第一个 if 语句中的命令,即使它应该为前五个 obs 返回 3,1,1,3,1 .

想法?

def F (value):
    if FINALSET.loc[value,'OHX02CTC'] == 'E' or 'P' or 'R':
        FINALSET.loc[value, 'OHX02N'] = 3
    elif FINALSET.loc[value,'OHXO2CTC'] == 'J' or 'T':
        FINALSET.loc[value,'OHX02N'] = 2
    elif FINALSET.loc[value,'OHX02CTC'] == 'K' or 'Z':
        FINALSET.loc[value,'OHX02N'] = 1
    else:
        FINALSET.loc[value,'OHXO2N'] = 0

for value in range(len(FINALSET)):
    F(value)

标签: pythonif-statement

解决方案


推荐阅读