使用以下代码,当if条件基于x和y值满足时,我需要将值(“正确数据,不正确数据...”)放入“评估”列中,但是我得到了以下错误< / p>
AttributeError:“ DataFrame”对象没有属性“ map”
def variable(x,y):
x = df['Volume']
y = df['Turnover']
if df[(x==0) & (y==0)]:
return 'Right Data'
if df[(x>0) & (y>0)]:
return 'Right Data'
if df[(x<0) & (y<0)]:
return 'Right Data'
if df[(x>0) & (y<0)]:
return 'Incorrect Data'
if df[(x<0) & (y>0)]:
return 'Incorrect Data'
if df[(x!=0) & (y==0)]:
return 'Incorrect Data'
if df[(x==0) & (y!=0)]:
return 'Incorrect Data'
if df[(x==0) & (y.isnull())]:
return 'Missing Data'
if df[(x=='Nan') & (y!=0)]:
return 'Missing Data'
test = df[['Volume','Turnover']]
test2 = test.map(variable)
df['Assessment'] = test2
答案 0 :(得分:0)
您可以尝试使用lambda:
df['Assessment'] = df.apply(lambda x: variable(x['Volume'], x['Turnover']), axis=1)
来源: