如何随机化我的numpy数组中的值?

问题描述 投票:0回答:1
[[ 208.47   26.  ]
 [ 202.84   17.  ]
 [ 143.37   10.  ]
 ..., 
 [  45.99    3.  ]
 [ 159.31   10.  ]
 [  34.12    4.  ]]
[[ 58.64   1.  ]
 [ 44.31  19.  ]
 [ 37.89  14.  ]
 ..., 
 [ 46.86   4.  ]
 [ 60.73   5.  ]
 [ 41.91   6.  ]]
[[  36.6     4.  ]
 [ 219.29   17.  ]
 [  64.77    5.  ]
 ..., 
 [  51.85   37.  ]
 [ 161.26   10.  ]
 [  53.63   20.  ]]
[[  52.97   32.  ]
 [  51.32    3.  ]
 [ 196.23    4.  ]
 ..., 
 [  41.39    8.  ]
 [  47.49    5.  ]
 [  34.34    3.  ]]

我有这个numpy数组进入我的功能:

def initialize_centroids(points, k):
    """returns k centroids from the initial points"""
    centroids = points.copy()
    np.random.shuffle(centroids)
    print centroids
    return centroids[:k]

现在函数当前正在做的是,对值进行混洗并发送它们中的前k个。我想基本上随机化第一列的值在0到300之间,第二列在0到100之间。我该怎么做?

这是我使用Python构建K-Means算法的工作的一部分。

python numpy
1个回答
0
投票

正如@kazemakase评论的那样,答案就是使用:

np.random.rand(k, 2) * [300, 100]
© www.soinside.com 2019 - 2024. All rights reserved.