You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataFrame中基于多列条件生成错误标记列

如何在DataFrame中基于多列条件生成错误标记列

问题场景

需要在DataFrame的独立列中创建错误标记,实现多列条件校验:当Category列值为Fruit时,检查Item列值是否属于指定水果列表,不符合则标记Error,符合则标记OK。

示例DataFrame

Category Item    Flag
0   Fruit    Apple     
1   Fruit    Apple        
2   Fruit    Beef    
3   Fruit    Kiwi    
4   Fruit    Orange  

需求说明

指定水果列表:

fruits = ['Apple', 'Orange', 'Kiwi']

校验逻辑:

  • 当df['Category'] == 'Fruit'时,检查df['Item']是否在fruits列表中
  • 不在列表中标记Error,符合则标记OK

解决方案

用Pandas结合Numpy的矢量化操作实现高效校验,代码如下:

import pandas as pd
import numpy as np

# 构造示例DataFrame
df = pd.DataFrame({
    'Category': ['Fruit']*5,
    'Item': ['Apple', 'Apple', 'Beef', 'Kiwi', 'Orange'],
    'Flag': ['']*5
})

fruits = ['Apple', 'Orange', 'Kiwi']

# 生成错误标记列
df['Flag'] = np.where(
    (df['Category'] == 'Fruit') & (~df['Item'].isin(fruits)),
    'Error',
    'OK'
)

预期输出

Category Item    Flag
0   Fruit    Apple   OK  
1   Fruit    Apple   OK     
2   Fruit    Beef    Error
3   Fruit    Kiwi    OK
4   Fruit    Orange  OK

内容的提问来源于stack exchange,提问作者Mikalord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:55:32