Передача пустого индекса - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть python код, который реализует нечто похожее на следующее:

import numpy as np
x = np.array([1,1,0,2,1,4])
ind = np.array([0,3,5])

def foo(x, ind):
    x1 = x[ind]
    x2 = np.delete(x, ind)
    return x1, x2

foo(x, ind)

Вектор x передается пользователем в функцию, а внутри функции x делится на две части. векторы, основанные на некоторых заранее определенных индексах в ind. Затем, некоторая работа позже в функции выполняется над векторами x1 и x2 (условно, если они существуют)

Концептуально есть 3 возможных результата, и в настоящее время я могу заставить работать только два из них на основе как я написал этот код. Результат 1) Все значения присвоены x1, а x2 ничего не назначено. Это делается, когда, например, значение для ind = range(6) с использованием приведенного выше примера кода. Результат 2) некоторые значения присваиваются x1, а остальные остальные присваиваются x2. Этот результат является кодом в приведенном выше примере.

Однако, что я не могу понять, так это результат 3) все значения присвоены x2 и ничего не присвоено x1. В контексте того, как я написал этот код, возможно ли присвоить ind какое-то значение, чтобы все в векторе x было присвоено x2, а ничего x1?

Спасибо за вашу поддержку.

1 Ответ

0 голосов
/ 30 апреля 2020

Хотите разделить массив numpy, как показано ниже? Тогда вы можете сделать это.

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
ind = 4
newarr = arr[0:ind]

print(newarr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...