【问题标题】:Python: Get random value from a array dimensionPython:从数组维度获取随机值
【发布时间】:2012-10-11 10:17:18
【问题描述】:

我正在尝试从 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)]

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

【问题讨论】:

    标签: python arrays random numpy


    【解决方案1】:

    假设您指的是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])
    

    【讨论】:

      【解决方案2】:

      让我们这样说:

      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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-19
        • 1970-01-01
        • 2022-10-08
        相关资源
        最近更新 更多