我将这些条件应用于数据框。如果所有这些条件都为TRUE,则我想创建一个值为1的整数列,但是我不知道如何创建此最后一步。
我的最终目标是使用SQL时的大小写样式
df.loc[df['AREA'].isin([8,22,19,27,22]) | (df['AREA']==4) & (~df['REGION'].isin([53,65,86])) | (df['AREA']==1) & (df['company']==1)]
答案 0 :(得分:1)
我建议分别创建每个蒙版,然后传递给numpy.select
:
m1 = df['AREA'].isin([8,22,19,27,22])
m2 = (df['AREA']==4) & (~df['REGION'].isin([53,65,86]))
m3 = (df['AREA']==1) & (df['company']==1)
df['new'] = np.select([m1, m2, m3], [1,2,3], default=0)