np.random.randn отказывается принимать отрицательные аргументы - PullRequest
0 голосов
/ 26 августа 2018
import numpy as np
a=[2,4,6,-1,4]
#b=[np.random.randn(0,2) for i in a[1:]]
#print(b)
b=[np.random.randn(x,y) for x, y in zip(a[1:], a[1:])]
print(b)

OUTPUT

ValueError                                Traceback (most recent call 
last)
<ipython-input-34-b2077da31d55> in <module>()
      3 #b=[np.random.randn(0,2) for i in a[1:]]
      4 #print(b)
----> 5 b=[np.random.randn(x,y) for x, y in zip(a[1:], a[1:])]
      6 b

<ipython-input-34-b2077da31d55> in <listcomp>(.0)
      3 #b=[np.random.randn(0,2) for i in a[1:]]
      4 #print(b)
----> 5 b=[np.random.randn(x,y) for x, y in zip(a[1:], a[1:])]
      6 b

mtrand.pyx in mtrand.RandomState.randn()

mtrand.pyx in mtrand.RandomState.standard_normal()

mtrand.pyx in mtrand.cont0_array()

ValueError: negative dimensions are not allowed

ошибка продолжает выдаваться независимо от того, что [x1: x2] я даю.

Что такое очевидное, чего мне не хватает?

Я довольно новичок в numpy, поэтому, пожалуйста, не возражайте, если это очень просто.

1 Ответ

0 голосов
/ 26 августа 2018

Согласно документации для numpy.Random.randn

Размеры возвращаемого массива, должны быть положительными . Если аргумент не указан, возвращается одно значение с плавающей точкой Python.

Вы ошибаетесь в аргументах, управляющих размерами массива (ов), для верхней и нижней границ ваших случайных чисел. Поскольку массив не может иметь отрицательный индекс, использование отрицательных чисел для измерений массива не допускается.

Вы не поняли, чего пытались достичь в своем вопросе, но кажется, что вы хотите получить массив случайных чисел между верхней и нижней границей. Вместо этого ваша текущая реализация создает двумерный массив размером 2x2, 4x4 и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...