Умножение двух массивов np.случайных.нормальных распределений с циклами for

#python #arrays #numpy #loops #normal-distribution

Вопрос:

Это продолжение моего предыдущего вопроса: я пытаюсь создать нормальное распределение для каждого значения в списке и использовать цикл for в качестве его 6000 чисел. Мой код выглядит так:

 for x in data:  r[x]=np.random.normal(data['value'],data['Standard Deviation'],100000)  

и я получаю следующую ошибку:

Ошибка значения: несоответствие формы: объекты не могут быть переданы в одну форму

Я изменил свой код на предложение StackOverflow:

 r = np.random.normal(data['value'], data['Standard Deviation'], (100000, len(data))).T  

Который прошел успешно. Теперь я пытаюсь выполнить некоторую арифметику с этим массивом распределения и другими столбцами из фрейма данных:

 for y in data:  y=(100000,len(data['value2']))  

z= y*((1 r)**10)

и я получаю следующую ошибку: операндам не удалось транслироваться вместе с фигурами (12,) (12 100000)

Код работает нормально, если я беру первое значение для каждого массива:

 z=y[0]*((1 r[0])**10)  

но не сработает, если я попытаюсь запустить его через весь массив. Моя цель состоит в том, чтобы взять данные[‘value2’] и увеличить их с помощью массива нормальных распределений для скорости роста r.

Спасибо вам за любую помощь!

Комментарии:

1. Добавьте код, который создает y вопрос.

2. Пожалуйста, приведите воспроизводимый пример и покажите, чего именно вы ожидаете достичь