我是NumPy/SciPy的新手。从文档看来,预先分配单个数组而不是调用append/insert/concatenate可以更有效地分配 。什么是预先分配NumPy数组的首选方法?
例如,要加1点的到一个阵列的列,我认为这样:
ar0 = np.linspace(10, 20, 16).reshape(4, 4)
ar0[:,-1] = np.ones_like(ar0[:,0])
优选这样的:
ar0 = np.linspace(10, 20, 12).reshape(4, 3)
ar0 = np.insert(ar0, ar0.shape[1], np.ones_like(ar0[:,0]), axis=1)
我的第一个问题是,这是否是正确的(第一个是更好的),而我的第二个问题是,此刻,我只是预先分配了我的阵列(我在SciPy站点的几个Cookbook示例中注意到):
np.zeros((8,5))
什么是'NumPy首选'的方式来做到这一点?