列表函数中的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。其中与pandasisin
一起作为:
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区分大小写和空格。您发布的代码将在进入类型错误之前引发语法错误。