У меня есть, я уверен, очень простая проблема, которую я могу решить, но я не могу понять ее правильно и не смог найти ответ, вероятно, потому что я использую неправильный словарь и т. Д.
Моя цель - получить массив с именем array_1, который имеет разные «контрольные примеры».Для каждого из элементов этого массива я хочу запустить метод Монте-Карло, причем текущий элемент является входом для функции.Я хотел бы получить среднее значение всех результатов (num_samples) и сохранить его в другом массиве, который будет массивом «средств», которые будут легко визуализироваться.Жесткое кодирование для каждого из условий легко, но я ищу более автоматизированный метод.Любая помощь будет оценена.В данный момент я работаю с:
import numpy as np
num_samples = 5
array_1 = ([1,2,3])
array_2 = np.zeros(num_samples)
array_3 = ([])
def func_add(a, b):
return a + b + 2
#def func_append(c):
for j in array_1:
for i in range(num_samples):
r = np.random.randint(1,2)
array_2[i] = func_add( j, r)
c = np.mean(array_2) #this value I want to put in a new array to have an 'array of means'
#print(b)
array_3 = np.append(array_3, c)
print(array_2)
print(np.mean(array_2))
print(c)
print(array_3)
, который возвращает:
[6. 6. 6. 6. 6.]
6.0
6.0
[4. 5. 6.]
РЕДАКТИРОВАТЬ 2: результаты для array_3, кажется, имеют смысл, но теперь мне интереснопочему array_2 содержит только 6.В первом случае циклов j = 1 и r = 1, поэтому функция должна возвращать 4 и помещать ее в индекс 1 для array_2, или все они будут перезаписаны последним случаем цикла for, что также приведет ксмысл я думаю.
Заранее спасибо.
РЕДАКТИРОВАТЬ: Я думаю, проблема в том, что, возможно, я извлекаю значение из массива_1, но я хочу поместить среднее значение от обработки впервый индекс некоторого массива (имеется в виду, что мне может понадобиться создать третий массив для хранения этих значений?)