Привет, у меня есть проблема со следующим массивом Numpy, например: < /p>
a = np.array([[1,2],[2,4],[5,6],[3,4],[7,8],[3,5]])
< /code>
И мне нужен выходной массив: < /p>
[np.array([1,2,2,4,4,3,3,5,5,6]),
np.array([7,8])]
< /code>
Хотя элементы в Subarrays и Array не должны быть в порядке. < /p>
Пары должны быть перевернуты, если они могут быть частью Subarray на выходе. Пары гарантированно имеют не идентичные элементы. < /P>
Моя грубая попытка ниже, но она не дает правильного вывода. < /P>
import numpy as np
def concatenate_neighbouring_pairs(input):
output = []
for i in range(len(input)):
subarray = input
for j in range(1,len(input)):
#print(i,j)
intersect1 = np.in1d(subarray, input[j])
intersect2 = np.in1d(input[j] ,subarray)
#print(intersect1, intersect2)
if intersect1[0] == True and intersect1[-1] == False and intersect2[0] == True and intersect2[-1] == False:
subarray = np.concatenate((np.flip(input[j]),subarray))
elif intersect1[0] == True and intersect1[-1] == False and intersect2[0] == False and intersect2[-1] == True:
subarray = np.concatenate((input[j], subarray))
elif intersect1[0] == False and intersect1[-1] == True and intersect2[0] == True and intersect2[-1] == False:
subarray = np.concatenate((subarray, input[j]))
elif intersect1[0] == False and intersect1[-1] == True and intersect2[0] == False and intersect2[-1] == True:
subarray = np.concatenate((subarray, np.flip(input[j])))
output.append(subarray)
return output
< /code>
Вызов функции выходов: < /p>
[array([1, 2, 2, 4, 4, 3, 3, 5]),
array([2, 4, 4, 3, 3, 5]),
array([3, 5, 5, 6]),
array([5, 3, 3, 4, 4, 2]),
array([7, 8]),
array([4, 3, 3, 5, 5, 6])]
Подробнее здесь: https://stackoverflow.com/questions/796 ... g-the-same
Перестановка пар в массиве в субаррей с соседними парами, имеющими одинаковые элементы ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Перестановка пар в массиве в субаррей с соседними парами, имеющими одинаковые элементы
Anonymous » » в форуме Python - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Перестановка пар в массиве в субаррей с соседними парами, имеющими одинаковые элементы
Anonymous » » в форуме Python - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-