python-3.x - 如何在 IF 语句的上下文中使用 Python Pandas isin()
问题描述
在这里解决问题时遇到了一些麻烦,可以使用一些建议。
col_list = ['Task1','Task2']
if new_temp_df['Task Type'].isin(col_list): ### THIS IS THE OFFENDING LINE!
temp_list2.append(new_temp_df['Job Number'])
results2_df = results2_df.append({
'Job Number': new_temp_df['Job'],
'Task1': 'Yes',
'Task1 Runs': new_temp_df['Runs'],
'Task2': 'Yes',
'Task2 Runs': new_temp_df['Runs'],
'Campaign-level Match': 'Yes',
}, ignore_index=True)
else:
pass ..........
我不断收到错误:
ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。
例如,我尝试过适合的变体(基于谷歌搜索)
if new_temp_df['Task Type'].isin(col_list).all()
和
if np.where(new_temp_df['Task Type'].isin(col_list))
没有喜悦。
期望的最终目标
- 读取数据框,其中“任务类型”字段中的所有值都根据 [col_list] 中提供的列表进行检查。
- 如果 [col_list] 变量中的这两个值都存在 - TRUE,如果不存在:FALSE
- 在 IF 语句级别进行评估 - 返回 bool 值(希望所有人从此过上幸福的生活)
拜托,任何想法都会很棒。我看到 isin() 用于所有功能,但没有在 IF 语句中使用 - 非常有兴趣了解该方法。
提前谢谢大家
解决方案
any
可用于if conditional
.
玩具示例:
输入设置
col_list = ['Task1','Task2']
df = pd.DataFrame({
'Task Type':['Test1', 'Task1'],
'val':[1,2]
})
df
输入df
Task Type val
0 Test1 1
1 Task1 2
代码
if any(df['Task Type'].isin(col_list)):
print('task')
输出
task
推荐阅读
- android - 无法在片段活动中实现谷歌地图(抽屉菜单)
- angular - 如何在jsPanel Angular2中将组件加载为内容
- azure - 在容器中看不到 cat 命令的结果
- unreal-engine4 - 在虚幻引擎 4 中让角色在受到伤害时闪烁作为反馈
- reactjs - 是否可以在 React.JS 样式中使用 QT/LIBUI?
- html - 如何在 HTML 文件中标记这一行以被声纳规则忽略?
- jelastic - 关于Jelastic自动瘦身升迁的问题
- c# - 无法为类中的数组设置值
- mono - 尝试在 MonoDevelop 中构建 C# 解决方案时找不到 AxImp.exe
- c# - 为什么不能从 finally 块的内部跳转到外部?