У меня есть эта функция, которая работает, как ожидалосьпередавая необязательные аргументы как строки или Arays
import numpy as np
def my_fun(X, Weights = None):
if Weights is None:
np.random.normal(0,1,1)
else:
Weights + 1
Поэтому я могу назвать my_fun использованием my_fun (my_X) или my_fun (my_X, Веса = my_weights) где my_weights является массивом.
Однако мне нужно включить третий параметр в my_fun, и в идеале я хотел бы передать аргумент как строку. Что-то вроде этого.
import numpy as np
def my_fun(X, Weights = None):
if Weights is None:
np.random.normal(0,1,1)
elif Weights == 'My_string':
np.random.beta(1,1,1)
else:
Weights + 1
Если я пытаюсь вызвать my_fun в my_fun (my_X, вес = 'а'), то я получаю следующее сообщение об ошибке: FutureWarning: поэлементно сравнение не удалось; возвращающий скаляр вместо ...
Любые мысли о том, как изменить форму my_fun?
Ваш код не вызывает эту ошибку. У вас есть рабочий пример? –
@ Радио - вы правы, я просто разместил упрощенную версию моей оригинальной функции, и в этой версии нет ошибки. мне нужно проверить, что вызывает ошибку в моем исходном def – user1571823
https://github.com/numpy/numpy/issues/6784 может пролить свет на предупреждение. – wwii