def conditions(s): if (s['col1'] > 20) or (s['col2'] == 0) or (s['col3'] > 100): return 1 elif (s['col1'] == True: else: return 0 df['your_new_col'] = df.apply(conditions, axis=1)