#python #numpy
Вопрос:
У меня есть массив numpy, в котором есть отрицательные числа, за которыми следуют несколько положительных, а затем еще одно отрицательное число.
Вот пример
arr = np.array([-1, 2, 4, 6, -2, 4, 6, 9, 3, -3, 45, 4, -4, 23, 45, 2])
Я хотел бы разделить массив таким образом, чтобы каждое отрицательное число и следующие положительные числа были по строке каждое.
([-1, 2, 4, 6,
-2, 4, 6, 9, 3,
-3, 45, 4,
-4, 23, 45, 2])
Как я могу это сделать?
Спасибо
Комментарии:
1. Действительно непонятно, что вы имеете в виду. Вы просто пытаетесь напечатать свой массив определенным образом?
2. В отличие от списка списков, массив 2D numpy не может быть сформирован из массивов 1D разных размеров.
Ответ №1:
print("([", end="")
last=0
for i in range(1,len(ar)):
if i < 0:
print(" " ", ".join(ar[last:i]))
last=i 1
elif last = i:
continue
print(", ".join(ar[last:]) "])")