我想生成x和y范围长度不同的二维点数组,如下所示:
points = np.random.uniform(0, 300, (10000, 2))
这给了我10000点(带有x和y),范围从0到300。但是我想分别限制x和y的数量。我希望x的范围是0到1280,y的范围是0到720。
numpy能够做到这一点,还是我最好自己构造这样的数组?
答案 0 :(得分:4)
您可以这样做:
np.random.uniform((0, 0), (1280 ,702), (10000, 2))
array([[1273.36065074, 593.61346294],
[ 861.09537599, 608.0452186 ],
[ 931.37010986, 529.71771209],
...,
[ 931.70239685, 442.04459329],
[ 764.29249852, 396.72112753],
[ 858.85217637, 437.34670284]])
请注意,如documentation所示,low
和high
值都接受float或float的array_like。