Ваш nditer
l oop ничего не делает для вас. Вы даже не используете переменные x,y
. Переменная prpc5
не определена. И нет попыток накапливать значения y_prpc5
.
Если вам нужно что-то повторять, начните с простой итерации. Не пытайтесь использовать nditer
(если вы не можете прочитать и понять все его документы). Это не быстрее и сложнее правильно использовать.
Но ошибка не имеет ничего общего с nditer
.
np.random.normal(prpc5[:,0],prpc5[:,1], size=n)
не использует никаких переменных итерации.
Размер со скалярными аргументами:
In [63]: np.random.normal(1,2,size=57)
Out[63]:
array([-0.15095176, 0.68354153, 0.64270214, 1.71539129, 3.82930345,
-0.93888021, 0.34013012, 4.7390541 , 1.95647694, -0.02787572,
0.53790931, 3.64859278, -2.66455301, -1.81567149, 2.62141742,
-0.22887411, -0.36284743, 2.92298403, 1.87943503, 2.12060767,
-1.10172555, 0.04234386, 0.48707306, 5.66358341, 0.70659526,
-0.74210809, -2.04678512, -0.16496427, -0.46041457, 0.50505178,
1.66497518, 2.20486689, 1.83034991, -1.73740446, -3.117619 ,
1.12649528, 2.58059286, 1.42897399, 2.37256695, -2.34670202,
3.00318398, 2.78164509, -1.1329154 , 4.06859674, 3.13266299,
-0.35481326, 1.79429889, 1.71617491, 1.41543611, 0.9476942 ,
-0.79856396, -0.83121952, -2.63145461, 0.13941223, 0.18895024,
3.21956521, -2.75348353])
Аргументы массива / списка с размером:
In [64]: np.random.normal([1,2],[1,1],size=57)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-64-9a493d59b8d2> in <module>
----> 1 np.random.normal([1,2],[1,1],size=57)
mtrand.pyx in numpy.random.mtrand.RandomState.normal()
_common.pyx in numpy.random._common.cont()
_common.pyx in numpy.random._common.cont_broadcast_2()
__init__.pxd in numpy.PyArray_MultiIterNew3()
ValueError: shape mismatch: objects cannot be broadcast to a single shape
Если размер соответствует размеру первых двух аргументов, хорошо:
In [65]: np.random.normal([1,2],[1,1],size=2)
Out[65]: array([1.91404732, 2.79305575])