Я пытаюсь построить массив 2D NumPy из значений в существующем массиве 2D NumPy, используя итеративный процесс.Используя обычные списки Python, процесс, который я описываю, будет выглядеть так:
coords = #data from file contained in a 2D list
d = #integer
edges = []
for i in range(d+1):
for j in range(i+1, d+1):
edge = coords[j] - coords[i]
edges.append(edge)
Однако массив NumPy налагает ограничения, которые не допускают процесс, показанный выше.Ниже я пытаюсь сделать то же самое, используя массивы NumPy, и сразу должно быть ясно, где проблемы:
coords = np.genfromtxt('Energies.txt', dtype=float, skip_header=1)
d = #integer
#how to initialize?
for i in range(d+1):
for j in range(i+1, d+1):
edge = coords[j] - coords[i]
#how to append?
Поскольку .append не существует для массивов NumPy, мне нужно полагаться на конкатенацию или стек,Но эти функции предназначены для объединения существующих массивов, и у меня нет ничего, что можно объединить или сложить до окончания первой итерации моего цикла.Поэтому я полагаю, что мне нужно изменить поток данных, но я не уверен, как это сделать.
Любая помощь будет принята с благодарностью.Заранее спасибо.