Skip to main content
 首页 » 编程设计

Python Pandas 根据多个其他列中的条件替换一列中的值

2025年05月04日20cmt

<分区>

使用数据框 df:

Product_ID | Category_A   | Category _B 
1232             0              0  
1343             Unknown        X 
2543             Nan            0  
2549             Y              Y 
0349             X              X 
8533             Y              X 

我想创建一个新列 Category_Final,规则如下:

  • 如果 Category_A 为 0、未知或 Nan,则 Category_Final 应为“未知”
  • 如果 Category_A 与 Category_B 相同,则 Category_Final 应为 0
  • 如果 Category_A 不同于 Category_B,则 Category_Final 应为 X

预期输出:

Product_ID | Category_A   | Category _B | Category_Final 
1232             0              0            Unknown 
1343             Unknown        X            Unknown 
2543             Nan            0            Unknown 
2549             Y              Y            0 
0349             X              X            0 
8533             Y              X            X 

我设法获得了 0 和 X 的逻辑,但我不知道如何包含未知逻辑。

df['Category_Final'] = np.where(df['Category_A'] != df['Category_B'], 'X', '0') 

谢谢!