У меня есть df, который выглядит следующим образом:
consumer_id order_total
1 5
2 6
3 7
1 5
Для каждого потребителя consumer_id
Я хочу взять среднее значение всех order_total
на consumer_id
и создать новый столбец SID
на основе следующих правил:
if new `order_total` >= 7:
SID = 3
elif new `order_total` >= 6 OR <7:
SID = 2
else:
SID = 1
new df должен выглядеть следующим образом (consumer_id
1, среднее значение равно 5):
consumer_id order_total SID
1 5 1
2 6 2
3 7 3
1 5 1
Это оператор if, который я пробовал безв среднем за consumer_id
:
if df.order_total >= 150:
df['SID'] = 3
elif [df.order >= 50] & [df.order< 100]:
df['SID'] = 2
else:
df['SID'] = 1
Я получаю ошибку:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().