在python

时间:2019-09-09 14:39:56

标签: python pandas

重要说明:这不是Truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()的重复项。我已经检查过了,但是在这种情况下我找不到任何可以帮助我的东西。如果我错了,请告诉我。

因此,在这一点上,我正在使用这两列:名称 BrandName 。有时,后者包含诸如 Unknown 的值。

我正在尝试创建一个新列,例如 NewColumn ,它看起来应该像这样: df['New'] = df['Name'] + ' from' + df['BrandName']

但是,我不想将其应用于BrandName列中包含值“ Unknown”的行。

经过一番研究,我发现这可以解决问题: df['New'] = np.where(df['BrandName'] == 'Unknown', df['Name'], df['Name'] + ' fra ' + df['BrandName'])但我无法(如果我想呢)添加更多条件,以防它们出现。

对我来说,最吸引人的解决方案是使用ifelse,但是我对python并不真正习惯。这是我试图写的,但不幸的是它返回了一个错误。

if df['BrandId'] != 2:
     df['New'] = df['Name'] + ' fra ' + df['BrandName']
else:
     df['New'] = df['Name']
  

ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

if条件在做什么?是应该解决我的问题还是坚持使用np.where?再次,使用if和else对我非常有用,因为将来我计划添加更多条件,但是目前,我似乎在掌握正确用法方面惨遭失败。

0 个答案:

没有答案