Я оцениваю произвольные выражения в терминах массива x, например 3 * x ** 2 + 4. Это обычно приводит к массиву с формой x. Однако, если выражение является просто константой, оно возвращает скаляр. Каков наилучший способ убедиться, что он имеет форму x без явной проверки формы? Умножение на numpy.ones (x.shape) работает, но я думаю, что использует ненужные вычисления.Numpy конвертировать скаляры в массивы
Edit: Чтобы было ясно, я не хочу, чтобы это было массив размером один, я хочу, чтобы это было такой же формы и размера, как X. Я оценки строку, используя NumExpr, который может содержит произвольную функцию х:
x = numpy.linspace(min, max, num)
y = numexpr.evaluate(expr, {'x': x}, {})
Я хочу, чтобы получить массив у значений, которые могут быть нанесены на крестик через Matplotlib. В настоящее время я делаю это, что отлично работает:
y = numpy.ones(x.size) * y
Но я беспокоюсь, что это бесполезно для больших размеров. Есть ли способ лучше?
Я думаю, что я следую за то, что вы имеете в виду, но вы должны включать в себя минимальный, из конца в конец кода, чтобы быть Чисто. – J0e3gan