Максим, я так понимаю, про range() ты читал? Там можно указать три аргумента: range(от, до, шаг), соответственно этот диапазон и попадёт как аргумент в np.array() Думаю, должно помочь.
Алан Гибизов, Именно так я и думал, но здесь range зачем-то связан с аргументом reshape так, что если произведение аргументов reshape-а не равно сумме аргументов range-а по модулю, то появляется ошибка.
Максим, у reshape два аргумента, один из них должен быть 2, а другой попробуйте поставить -1 - тогда reshape должно само попробовать преобразовать исходный массив в новый с параметром 2, а отрицательный подобрать. Ну, сам я глубоко не вникал, но должно быть что-то вроде .reshape(-1, 2)
Давайте начнём с элементарного: как с русского на английский переводится слово "случайный" (вы даже написали "рандомный")? Какое слово надо искать в документации numpy?