尝试基于多个列中的多个条件创建新列

时间:2020-10-09 03:16:44

标签: python pandas

嗨,我正在尝试根据多个列上的多个条件创建新列,但不断出现以下错误

Cannot perform 'rand_' with a dtyped [bool] array and scalar of type [bool]

我写的代码如下:

condition = [frame['Type'] == 'Commercial' & frame['var'].str.contains("IN-MARKET", case=False) 
& pd.DatetimeIndex(frame['Day']).year == 2019 & pd.DatetimeIndex(frame['Day']).month == 2,
frame['Type'] == 'Commercial' & frame['Campaign'].str.contains("FruitnNuts", case=False) & 
frame['var'].str.contains("300X250", case=False) & frame['Day'] >= '2019-04-08' & frame['Day'] <= '2019-04-20']
    
frame['norm'] = np.select(condition, [frame['imp']*0.03, imp*0.01], 
                                         default=frame['completes'])

我希望有人可以帮助解决该问题。任何帮助将不胜感激

0 个答案:

没有答案
相关问题