列表函数中的python语法

列表函数中的python语法,python,pandas,function,loops,if-statement,Python,Pandas,Function,Loops,If Statement,如果columnx包含以下任何一个数字,我试图找到正确的python语法来创建一个值为yes的标志:1,2,3,4,5 def create_flag(df): if df['columnx'] in (1,2,3,4,5): return df['flag']=='yes' 我得到以下错误 TypeError:类型比较无效 我的语法中有明显的错误吗?使用np。其中与pandasisin一起作为: df['flag'] = np.where(df['columnx'].

如果
columnx
包含以下任何一个数字,我试图找到正确的python语法来创建一个值为
yes
的标志:
1,2,3,4,5

def create_flag(df):
    if df['columnx'] in (1,2,3,4,5):
        return df['flag']=='yes'
我得到以下错误

TypeError:类型比较无效


我的语法中有明显的错误吗?

使用
np。其中
与pandas
isin
一起作为:

df['flag'] = np.where(df['columnx'].isin([1,2,3,4,5]),'yes','no')

您的代码中有很多问题!我猜你想试试这样的东西

def create_flag(df):
    if df['columnx'] in [1,2,3,4,5]:
        df['flag']='yes'

x = {"columnx":2,'flag':None}

create_flag(x)
print(x["flag"])

TypeError:isin()接受2个位置参数,但给出的4个是错误iget@pynewbee请检查
isin
中的语法,是否将列表指定为
[1,2,3,4,5]
或其他内容。Python区分大小写和空格。您发布的代码将在进入类型错误之前引发语法错误。