根据多个条件更改Python中列的值

时间:2018-04-26 14:30:29

标签: python python-3.x pandas dataframe

我尝试使用基于"或"的Pandas在Python中插入新列。条件,但我遇到了代码问题。这就是我要做的事情:

如果列"监管机构" FDIC,美联储或财政部说,然后我想要一个新专栏" Filing"说"是&#34 ;;否则,说"否"。这就是我所写的。我的数据框是df200。

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

有没有办法让#34;或"此代码中的条件是否适合其他两个变量?

谢谢!

1 个答案:

答案 0 :(得分:3)

是。使用pd.Series.isin

bodies = {'FDIC', 'Fed', 'Treasury'}

df200['Filing'] = np.where(df200['Regulatory Body'].isin(bodies), 'Yes', 'No')

或者,将pd.Series.map与您从pd.Series.isin收到的布尔数组一起使用:

df200['Filing'] = df200['Regulatory Body'].isin(bodies).map({True: 'Yes', False: 'No'})