Я пытаюсь изменить цену некоторых товаров в зависимости от страны и строки продукта.
У меня есть таблица ниже.
country product price
Us blue good apple 9
US red bad Apple 10
Us blue bad apple 12
Canada blue excel apple 8
Canada yellow good Mango 15
Mexico orange bad Orange 16
Costa yellow med Orange 15
Brazil red good Orange 19
Brazil blue bad apple 9
Guatemala purple meh Pear 32
Guatemala green sweet Melon 4
Honduras grade 2 orange 5
Из этой таблицы, если цена на фрукты, которые имеют строки "синий" и "яблоко" , но не из "Канады" равна менее чем 11 , тогда я хотел бы установить цену этих на 11 . Таким образом, результат этих условий будет. (цена двух строк изменена)
country product price
Us blue good apple 11
US red bad Apple 10
Us blue bad apple 12
Canada blue excel apple 8
Canada yellow good Mango 15
Mexico orange bad Orange 16
Costa yellow med Orange 15
Brazil red good Orange 19
Brazil blue bad apple 11
Guatemala purple meh Pear 32
Guatemala green sweet Melon 4
Honduras grade 2 orange 5
Я пытался
df.loc[((df['product'].str.lower().str.contains('apple')) &
(~df['country'].str.lower().str.contains('canada')) &
(~df['product'].str.lower().str.contains('red'))), 'Price'] = 11
Но я не уверен, как сравнить цену и изменить эти конкретные продукты. Я перепробовал несколько вещей, но все, похоже, не работают.
(изменение и разбиение названия продукта на другой столбец не подходит для меня)