ValueError: The truth value of a Series is ambiguous while using lambda with loc

ValueError: The truth value of a Series is ambiguous while using lambda with loc

Df.loc[lambda Df: Df['score'] > 15 and Df['score'] < 20]

我在使用上述代码时遇到上述错误。提前致谢 错误:ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

主要问题是表达式周围缺少括号。

您的代码中还有另外两个问题:

  • 使用系列时使用“&”而不是 'and'。
  • 无需使用 lambda。

这是一段可行的代码:

df.loc[(df['score'] > 15) & (df['score'] < 20)]