1

我正在尝试从 Python 中数组的一维中获取随机元素。因此,在下面的情况下,我想检索 5 个浮点数中的任何一个。

ar = rand(1, 5)

ar = array([[ 0.29889882,  0.84955019,  0.52989055,  0.57220576,  0.16841406]])

如果有 5 个元素且只有一个维度,我已经能够检索浮点数 (ar = rand(5, 1)),

使用:

ar[randrange(0, p.size)]

但是如何从单个维度的数组中获取值?

4

2 回答 2

0

让我们这样说:

ar = rand(1, 5)

ar = array([[ 0.29889882, 0.84955019, 0.52989055, 0.57220576, 0.16841406]])

#create a generator object that returns random values from your array

def getGen(array):
    def gen(arr):
        yield arr[:,ramdom.randint(0,(array.size - 1))] #yielding random values
    return gen(array) # returning generator object

genFromArray = getGen(ar) #getting generator
genFromArray() #would return a random value from your array
于 2012-10-21T11:35:32.303 回答
0

假设您指的是numpy.array,您可以使用以下内容:

>>> import numpy as np
>>> np.array([[ 0.29889882, 0.84955019, 0.52989055, 0.57220576, 0.16841406]])
array([[ 0.29889882,  0.84955019,  0.52989055,  0.57220576,  0.16841406]])
>>> 
>>> 
>>> ar = np.array([[ 0.29889882, 0.84955019, 0.52989055, 0.57220576, 0.16841406]])
>>> ar[:, random.randint(0,4)]
array([ 0.29889882])
>>> ar[:, random.randint(0,4)]
array([ 0.52989055])
于 2012-10-21T11:22:05.520 回答