我尝试使用基于"或"的Pandas在Python中插入新列。条件,但我遇到了代码问题。这就是我要做的事情:
如果列"监管机构" FDIC,美联储或财政部说,然后我想要一个新专栏" Filing"说"是&#34 ;;否则,说"否"。这就是我所写的。我的数据框是df200。
df200["Filing"] = np.where(df200["Regulatory Body"]=="FDIC","Yes","No")
有没有办法让#34;或"此代码中的条件是否适合其他两个变量?
谢谢!
答案 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'})