#python #arrays #numpy
#python #массивы #numpy
Вопрос:
Я создал следующий код, чтобы разделить массив на 4 части и получить первую часть отдельно. Теперь мне нужно получить остальные оставшиеся части в виде объединенного отдельного массива.
test = [(0,1,2),(9,0,1),(0,1,3),(0,1,8)]
print(test)
test_np = np.array_split(test,4)
np2 = test_np[2]
Затем я могу объединить остальные 3 части в новый массив np_new = [(0,1,2),(0,1,3),(0,1,8)]
Я не могу понять, как это сделать? Это должно помочь мне, даже если я выберу 2-ю часть и с нетерпением жду объединения 1-й, 3-й и 4-й частей.
Комментарии:
1. Вам нужно
np.concatenate(test_np[1:])
?2. Пожалуйста, предоставьте пример того, что вы хотите получить, когда выберете 2-ю часть.
Ответ №1:
В вашем случае ‘test’ — это список кортежей, поэтому вам не нужен numpy:
import numpy as np
test = [(0,1,2),(9,0,1),(0,1,3),(0,1,8)]
t_0 = test[:1]
t_1 = test[1]
new_test= t_0 test[2:]
print(new_test)
# as np.array:
np_test=np.array(test)
Если у вас изначально есть массив numpy:
import numpy as np
np_test = np.array([(0,1,2),(9,0,1),(0,1,3),(0,1,8)])
new_np_test = np.vstack((np_test[0], np_test[2:]))
Комментарии:
1. Что, если мне нужно выполнить цикл, например; когда я выбираю 2-ю часть, я могу объединить 1-ю, 3-ю и 4-ю части?
2. как это сделать, если тест np.array с самого начала? @AlexNe
3. Отредактированный ответ. Если это то, что вы ищете, пожалуйста, отметьте как ответ.
Ответ №2:
Вы можете сделать это, нарезав массивы python. Например, с помощью массива
x = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’]
вы можете нарезать с множеством возможностей. x[1:3] возвращает элементы массива с 1-го по 3-й. x[:3] возвращает ноль до 3-го элемента. x[4:] возвращает четвертый элемент до конца массива.
x[1:3] = [‘b’,’c’], x [:3] = [‘a’, ‘b’,’c’], x[4:] = [‘e’,’f’, ‘g’, ‘h’]
Для вашего примера,
test = [(0,1,2),(9,0,1),(0,1,3),(0,1,8)]
print(test)
np1 = test[0]
# To keep the rest in test matrix
test = test[1:]
Комментарии:
1. Что, если мне нужно выполнить цикл, например; когда я выбираю 2-ю часть, я могу объединить 1-ю, 3-ю и 4-ю части?