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

如何在Python Pandas中基于多条件设置新列Filing的值?

解决Pandas多条件“或”逻辑新增列的问题

嘿,我来帮你搞定这个需求!你当前的代码只处理了单个条件,要把另外两个值(Fed、Treasury)也纳入“或”逻辑里,有两种简洁且高效的方法:

方法1:使用isin()函数(推荐)

当需要匹配多个值时,isin()是最简洁也最适合的方式,它会直接检查列中的值是否在指定的列表内:

import numpy as np
import pandas as pd

# 给df200新增Filing列
df200["Filing"] = np.where(
    df200["Regulatory Body"].isin(["FDIC", "Fed", "Treasury"]),
    "Yes",
    "No"
)

这个方法不仅代码更短,在处理大数据集时的性能也比多个或条件更好。

方法2:使用逻辑或运算符|

如果你想显式写出每个条件,可以用|表示逻辑或,但要注意每个条件都需要用括号括起来(因为Pandas的运算符优先级问题,不加括号会导致逻辑错误):

df200["Filing"] = np.where(
    (df200["Regulatory Body"] == "FDIC") | 
    (df200["Regulatory Body"] == "Fed") | 
    (df200["Regulatory Body"] == "Treasury"),
    "Yes",
    "No"
)

两种方法都能实现你的需求:只要Regulatory Body列的值是FDIC、Fed或Treasury中的任意一个,Filing列就赋值为"Yes",否则为"No"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:47:15