Обновлено: имея набор данных вопросов для опроса, мне нужно классифицировать разные ответы на разные категории:
Index,Q1,Q2,Q3,Q4,Q5,Q6,Q7
1,TRUE,FALSE,TRUE,TRUE,FALSE,TRUE,FALSE
2,TRUE,FALSE,FALSE,TRUE,FALSE,FALSE,TRUE
3,FALSE,FALSE,FALSE,TRUE,TRUE,FALSE,TRUE
4,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE
5,TRUE,FALSE,TRUE,FALSE,TRUE,TRUE,FALSE
6,FALSE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE
7,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE
8,TRUE,TRUE,FALSE,FALSE,TRUE,FALSE,FALSE
9,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE
10,FALSE,TRUE,TRUE,FALSE,FALSE,TRUE,TRUE
11,TRUE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE
Правила генерации вывода категории (если не указано, допустимо ИСТИНА или ЛОЖЬ):
Output
Rule 1 Q1 = TRUE Q2 = TRUE Q5 = TRUE High
Rule 2 Q1 = TRUE Q2 = TRUE Q4 = TRUE Q7=TRUE High
Rule 3 Q2 = TRUE Q3 = TRUE Q6 = TRUE Mid
Rule 4 Q2 = TRUE Q3 = TRUE Q7 = TRUE Mid
Rule 5 Q4 = TRUE Q7 = TRUE Q1 = FALSE Q2= FALSE Mid-LOW
Rule 6 all = FALSE LOW
Я пробовал следующий код:
c1=df['Q1'].eq('TRUE')
c2=df['Q2'].eq('TRUE')
c3=df['Q5'].eq('TRUE')
c4=df['Q4'].eq('TRUE')
c5=df['Q5'].eq('TRUE')
c6=df['Q6'].eq('TRUE')
c7=df['Q7'].eq('TRUE')
df['Restock Action']=np.where((c1&c2&c5) | (c1&c2&c4&c7),'high','')
Вопрос: Как мне справиться с такой ситуацией, когда: 1. несколько правил имеют один и тот же результат 2. существует более одного результата(т.е. высокий, средний, средний низкий, низкий)
Спасибо!