Установка границ границ для нескольких операций с генераторами случайных чисел - PullRequest
0 голосов
/ 27 сентября 2019

Я считаю, что моя проблема действительно проста, и должен быть действительно простой способ решить эту проблему, однако, поскольку я совсем новичок в Python, я не смог решить ее самостоятельно.

Iопубликует составленный пример, который я использую, чем сложный скрипт, над которым я сейчас работаю, на случай, если вы захотите протестировать самостоятельно.Пожалуйста, примите во внимание следующее:

 import numpy as np 

 nData = 100
 sigma_alpha = np.array([1,1])
 alpha = [-23,0]
 data_alpha1 = np.random.randn(nData)*sigma_alpha[0]+alpha[0]
 data_alpha2 = np.random.randn(nData)*sigma_alpha[1]+alpha[1]

Моя проблема в том, что я должен ограничить data_alpha1 и data_alpha2 до -25 как нижний предел и 25 как верхний предел.Это означает, что все элементы в обоих массивах должны находиться между вышеупомянутыми значениями.Итак, решение, которое я ищу, также должно включать случай, когда все элементы data_alpha1,2 <25 </strong>, как показано ниже, где несколько значений будут больше 25:

 nData = 100
 sigma_alpha = np.array([1,1])
 alpha = [25,0]
 data_alpha1 = np.random.randn(nData)*sigma_alpha[0]+alpha[0]
 data_alpha2 = np.random.randn(nData)*sigma_alpha[1]+alpha[1]

Переменная alpha находится в цикле, поэтому она имеет динамическое значение и постоянно обновляется.

Подводя итог: то, что я пытался выяснить, это способ убедиться, что data_alpha1 иdata_alpha2 возвращает только значения в диапазоне от -25 до 25, и в случае, если любое значение не соответствует наложенному условию, тогда оно должно быть установлено на ближайшее значение границы, которое оно превосходит.Мол, если элемент alpha_data1 <-25, то его следует заменить на -25. </p>

Надеюсь, что мне удалось быть кратким и точным.Я был бы очень признателен за вашу помощь в этом!

1 Ответ

1 голос
/ 27 сентября 2019

Как это:

data_alpha1[data_alpha1 > 25] = 25
data_alpha1[data_alpha1 < -25] = -25
...