我刚接触NumPy/SciPy。从文档中得知,预先分配单个数组似乎比调用append/insert/concatenate更高效。
例如,要向数组添加一列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的首选方法是什么?
my_array= numpy.empty(10, dtype=numpy.datetime64)
这样的方法也不行。谢谢。 - Confounded