Python 错误:Series不明确|具有多个参数的函数|数据帧

Python 错误:Series不明确|具有多个参数的函数|数据帧,python,function,dataframe,error-handling,jupyter-notebook,Python,Function,Dataframe,Error Handling,Jupyter Notebook,我想要一个简单的函数,将现有列中的数值分类到新列中。由于某些原因,当使用具有多个参数的函数执行此操作时,ValueError:序列的真值是不明确的。使用a.empty、a.bool、a.item、a.any或a.all。是生成的 数据帧: 生成错误的代码: 请注意,我尝试使用函数方法来实现这一点,因为它将应用于传递了许多不同条件的多个列 在本例中,我试图将符合此条件的数值转换为字符串good,将不符合此条件的数值转换为字符串bad,因此,在名为Num_Cat的新列中,输出应为“bad,good,

我想要一个简单的函数,将现有列中的数值分类到新列中。由于某些原因,当使用具有多个参数的函数执行此操作时,ValueError:序列的真值是不明确的。使用a.empty、a.bool、a.item、a.any或a.all。是生成的

数据帧:

生成错误的代码:

请注意,我尝试使用函数方法来实现这一点,因为它将应用于传递了许多不同条件的多个列

在本例中,我试图将符合此条件的数值转换为字符串good,将不符合此条件的数值转换为字符串bad,因此,在名为Num_Cat的新列中,输出应为“bad,good,good”

你的车快到了。然而,Python的函数并没有按照您想要的方式工作。要做您想做的事情,您需要将结果中的每个值映射为好或坏

定义函数x,y,z:
值=y,这是有道理的,但是。任何和。所有似乎都不符合我的逻辑。。。在本例中,我试图将符合此条件的数值转换为字符串good,将不符合此条件的数值转换为字符串bad,因此,在名为Num_Cat的新列中,输出应为“bad,good,good”。使用.all或any将它们全部转换为“好”或“坏”我正在写作中,无意中发表了一篇评论啊,对!我只是想用lambda函数来解决这个问题。。。非常感谢。
l1=[1,2,3,4]
df_=pd.DataFrame(l1, columns=["Nums"])
n1=2
n2=4
def func(x,y,z):
 if (x>=y) & (x<=z):
    return('good')
 else:
    return('bad')
df_['Nums_Cat']=func(df_.Nums, n1, n2)