Объединить оставшуюся часть разделенного массива

#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-ю части?