#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. Пожалуйста, приведите воспроизводимый пример и покажите, чего именно вы ожидаете достичь