SKU_NUM GEO_CD GROUP_ID PRICE EXPECTED_OUTPUT
70907334 SV 1198094 0.84 5
70073557 SV 1198094 1.08 1
70073797 SV 1198094 1.20 1
70394170 SV 1198094 1.20 1
70395532 SV 1198094 1.20 1
70325533 SV 1198094 1.32 1
70393532 SV 1198094 1.38 4
70428444 CR 1198094 8.07 1
70428459 CR 1198094 8.07 1
70428536 CR 1198094 8.07 1
70424536 CR 1198094 7.97 1
70221536 CR 1198094 7.97 1
70428532 CR 1198094 7.52 2
70009265 CR 1198094 8.85 1
70009266 CR 1198094 8.85 1
70079602 CR 1198094 8.85 1
70079853 CR 1198094 8.85 1
70340656 CR 1198094 8.85 1
70340665 CR 1198094 8.85 1
70340325 CR 1198094 9.74 1
70343265 CR 1198094 10.18 3
70320665 CR 1198094 9.56 1
70548879 NI 1198094 23.81 6
70548879 NI 1198094 26.78 1
70271547 NI 1198094 29.76 1
70271547 NI 1198094 29.76 1
70271547 NI 1198094 32.74 1
70271547 NI 1198094 35.71 7
Я пытаюсь сгруппировать артикулы с похожими ценами (+ - 10% от режима). Каждый GEO_CD имеет свой собственный РЕЖИМ, и поэтому, если ЦЕНА SKU находится в диапазоне + -10% от РЕЖИМА, я хотел бы сгруппировать их вместе и назначить их в группу EXPECTED_OUTPUT = 1, если не назначать им никаких другой номер. Точно так же для всех GEO_CD, если цена SKU находится в пределах + -10% от их соответствующего РЕЖИМА, я бы отнес их к группе 1, а если бы не поместил их в любую другую группу, кроме 1.
Я бы признателен, если кто-нибудь может показать мне способ справиться с этим без циклов for и нескольких условий if.