ここまでで、それぞれ x と y のラベルが付いたデータ ポイントの 2 つのリストを作成しました。ただし、それらを単一の配列に結合して座標にする方法がわかりません。
import random
import pylab
x = [(random.randint(0,100)) for i in range(3000)]
y = [(random.randint(0,100)) for j in range(3000)]
ここまでで、それぞれ x と y のラベルが付いたデータ ポイントの 2 つのリストを作成しました。ただし、それらを単一の配列に結合して座標にする方法がわかりません。
import random
import pylab
x = [(random.randint(0,100)) for i in range(3000)]
y = [(random.randint(0,100)) for j in range(3000)]
zip()
それらを次のものと組み合わせることができます。
zip(x, y)
または、最初に数字を一緒に生成できます。
[(random.randint(0,100), random.randint(0,100)) for i in xrange(3000)]
をインポートしていることに気付きましたpylab
。座標にNumPy配列を使用しても構わない場合は、次のように簡単に記述できます。
import numpy.random
coord = numpy.random.randint(0, 100, (3000, 2))
明示的なループやリスト内包表記は必要ありません。これにより、コードは純粋な Python バージョンよりも ~120 倍高速になります。
In [6]: %timeit coord = numpy.random.randint(0, 100, (3000, 2))
10000 loops, best of 3: 82.7 us per loop
In [7]: %timeit coord = [(random.randint(0,100), random.randint(0,100)) for i in xrange(3000)]
100 loops, best of 3: 10.3 ms per loop
リストをタプルとして、座標を含む新しいリストに追加できます。
import random
import pylab
XY=[]
x = [(random.randint(0,100)) for i in range(3000)]
y = [(random.randint(0,100)) for j in range(3000)]
for xg, yg in zip(x,y):
XY.append((xg,yg))