pandas - ValueError:使用 .apply(lambda) 时,Series 的真值不明确
问题描述
我从此代码中收到值错误,如果在 my_array 中找到“id”,我想将其标记为 True
df['exist'] = df['id'].apply(lambda x: True if df['id'].isin(my_array) else False)
我知道值错误可能是由于在代码中使用'and'、'or'而不是'&'、'|'引起的。但是,我没有使用任何这些。
解决方案
df['id'].isin(my_array)
本身是一个系列,并且if df['id'].isin(my_array)
会抛出该错误,因为 Python 不知道如何将系列评估为单个True/False
.
只需使用isin
没有任何apply
:
df['exist'] = df['id'].isin(my_array)
推荐阅读
- cmake - 对 BUILD_TYPE 变量有条件语句是一个好的设计吗?
- assembly - NASM(64 位 linux):我的“puts”程序不适用于我的“strlen”程序
- php - 具有动态索引的 nginx 服务器未执行 php
- python - 在 Python 中的 QLineEdit 中更改颜色
- sql - Nlog in hangfire 作业死锁
- javascript - D3.js 条形图转折线图
- oop - 使用带有推或拉的观察者设计模板
- python - 如何使用 OpenCV 和 numpy 从 Drive 目录读取和显示图像?
- python - 为什么我不能用单列矩阵替换 NumPy 数组中的列?
- reactjs - React 列表组件(如文件管理器)