আপনি যে অ্যারে চান তা "শুরু" করার উপায়:
arr = np.empty((0,3), int)
যা একটি খালি অ্যারে তবে এটির সঠিক মাত্রা রয়েছে।
>>> arr
array([], shape=(0, 3), dtype=int64)
তারপরে অক্ষ 0 এর সাথে যুক্ত হওয়া নিশ্চিত করুন:
arr = np.append(arr, np.array([[1,2,3]]), axis=0)
arr = np.append(arr, np.array([[4,5,6]]), axis=0)
তবে, @ জোনারশপে ঠিক বলেছেন। প্রকৃতপক্ষে, আপনি যদি একটি লুপে সংযোজন করতে যাচ্ছেন তবে আপনার প্রথম উদাহরণের মতো একটি তালিকায় যুক্ত হওয়া আরও দ্রুত হবে, তারপরে শেষে একটি অসাধারণ অ্যারেতে রূপান্তর করুন, যেহেতু আপনি সত্যিকার অর্থে নকল ব্যবহার করছেন না লুপ চলাকালীন উদ্দেশ্য:
In [210]: %%timeit
.....: l = []
.....: for i in xrange(1000):
.....: l.append([3*i+1,3*i+2,3*i+3])
.....: l = np.asarray(l)
.....:
1000 loops, best of 3: 1.18 ms per loop
In [211]: %%timeit
.....: a = np.empty((0,3), int)
.....: for i in xrange(1000):
.....: a = np.append(a, 3*i+np.array([[1,2,3]]), 0)
.....:
100 loops, best of 3: 18.5 ms per loop
In [214]: np.allclose(a, l)
Out[214]: True
এটি করার অসাধারণ উপায় আপনার আবেদনের উপর নির্ভর করে তবে এটি আরও পছন্দ হবে:
In [220]: timeit n = np.arange(1,3001).reshape(1000,3)
100000 loops, best of 3: 5.93 µs per loop
In [221]: np.allclose(a, n)
Out[221]: True