а что значит "правильно" группировать?
пока, из исходных данных, просится просто брать максимальную цену (10000), делить ее на количество диапазонов (amount) - получаем шаг
В данном примере, получим 10000/5 = 2000
[0, 2000], [2001, 4000], [4001, 6000], [6001, 8000], [8001, 10000]
Теперь, как вам надо, по спискам распихивайте ил массивам:
1. 600, 1000,
2.
3. 4500, 5000,
4. 6500, 7000, 7500,
5. 10000