python - 2列条件然后
问题描述
我在同一个数据框中有 2 列,如图所示:
Col1 Col2
YES NO
YES NO
YES YES
YES NO
YES YES
YES
YES
NO
NO
我需要创建一个条件:如果 Col1 == "YES" 和 Col2 == "NO" 那么 COL2 = "YES",意思是:如果第 1 列是 "YES" 而第 2 列是 "NO" 那么第 2 列是 "YES" "
我正在尝试:
if df_db['Marketo LSC_x'] == "YES" and df_db['Marketo LSC_y'] == 'NO':
df_db['Marketo LSC_y'] = 'YES'
但不工作,给我这个错误:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
解决方案
仅供参考,Pandas 中布尔索引的逻辑运算符。
试试这个:
criteria_1 = df_db['Marketo LSC_x'] == "YES"
criteria_2 = df_db['Marketo LSC_y'] == 'NO'
criteria = criteria_1 & criteria_2
df_db.loc[criteria, 'Marketo LSC_y'] = 'YES'
推荐阅读
- vb.net - 一种解决方案中的项目调用方法
- c++ - 即使在程序关闭后也防止线程关闭
- blockchain - 如何为 ERC-1155 可替代代币创建众筹合约
- scroll - 如果单击调查下一个按钮,我如何禁用滚动
- c++ - 对 lambda 的 const 引用导致使用后范围?
- c++ - 如何使用 json.hpp 修改文件中的 JSON 值
- python - 如何在 selenium python 中获取新打开的选项卡的链接和页面信息
- node.js - Docker Compose - /bin/sh: jest: not found
- php - Laravel livewire DOM PDF文件保存但未下载
- javascript - 谷歌工作表脚本无法从 GOOGLEFINANCE() 读取和粘贴更新的数据