我想检查并比较pandas数据框column
的长度,并检查特定列表中是否存在dataframe列的值,并且我为此编写了以下代码:
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)
但是在执行过程中,我遇到以下错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
答案 0 :(得分:0)
我认为您的解决方案应该简化-删除df
,因为与and
相同的长度,并且条件需要any
,因为将标量与True
进行比较,至少返回一个isin
。
另外,==
用于检查多个值,因此对于检查一个值,请使用eq
(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)
):
let api_url = 'http:localhost:portNumber'
fun_add(Id, cat) {
return this.http.post(api_url+'/go', data,
httpOptions).subscribe(result => {
console.log(result);
}, error => console.log('There was an error: '));
}