【发布时间】:2019-01-31 22:42:53
【问题描述】:
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)
输出
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
无论我给出什么 a[x1:x2],错误都会不断抛出。
我缺少什么明显的东西?
我对 numpy 比较陌生,所以请不要介意这是否非常基础。
【问题讨论】:
-
你为什么要给它一个负值?您需要重新阅读此函数的参数。
-
您要创建什么样的随机数,目前您正在创建
randn(4, 4)和rand(6, 6)分别创建大小为4和6的二维方阵。你期望一个大小为-1的二维方阵给出什么? -
欢迎来到 StackOverflow。写一个好问题的一部分是解释你想要完成的事情。目前,我们只有您得到的结果,而不是您希望的结果。
标签: python numpy random valueerror