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

凯瑟拉文·纳塔拉然(Kathiravan Natarajan)
df['svc_port'] = np.where(
     min(df['sPort'],df['dPort']) <= 1024, 
     min(df['sPort'],df['dPort']), 
     df['dPort']
)

在上面的代码中,min(df['sPort'],df['dPort']) <= 1024-使用pandas比较两列中给出了相同的内容我没有使用任何逻辑运算符。只是检查条件并替换其值。

为什么我仍然收到此错误?

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
cs95

您正在寻找明智的元素min内置min函数仅适用于单个可迭代对象,一次不能多个。

您正在寻找的东西是使用np.minimum

v = np.minimum(df['sPort'], df['dPort'])
df['svc_port'] = np.where(v <= 1024, v, df['dPort'])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章