Python:在比较期间获取ValueError
我想检查和比较一个数据框Python:在比较期间获取ValueError,python,pandas,Python,Pandas,我想检查和比较一个数据框列的长度,检查一个数据框列的值是否存在于一个特定的列表中,我已经为相同的内容编写了以下代码: def validation(dataset,column,length): dataset['A'] = 10 if(len(column) < int(length)) & (dataset.A.isin(['10']).astype(int)): dataset['A']= 11 validation(df,df.name
列的长度,检查一个数据框列的值是否存在于一个特定的列表中,我已经为相同的内容编写了以下代码:
def validation(dataset,column,length):
dataset['A'] = 10
if(len(column) < int(length)) & (dataset.A.isin(['10']).astype(int)):
dataset['A']= 11
validation(df,df.name,2)
我认为您的解决方案应该简化-删除列
,因为与df
相同的长度以及条件需要和
,因为将标量与任何
进行比较,以返回至少一个真
此外,isin
用于检查多个值,因此对于检查一个值,请使用(=
):
def验证(数据集,长度):
数据集['A']=10
if(len(dataset)
哪些类型是数据集
、列
和长度
?你能给我们每个例子(编辑你的问题,不要回答)?
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
def validation(dataset,length):
dataset['A'] = 10
if(len(dataset) < int(length)) and dataset.A.eq('10').any():
#for check multiple values
#if(len(dataset) < int(length)) and dataset.A.isin(['10', '12']).any():
dataset['A']= 11
validation(df,2)