有索引技巧
r_和
c_。
>>> import numpy as np>>> a = np.array([[1, 2], [3, 4]])>>> z = np.zeros((2, 3), dtype=a.dtype)>>> np.c_[a, z]array([[1, 2, 0, 0, 0], [3, 4, 0, 0, 0]])
如果这是对性能至关重要的代码,则您可能更喜欢使用等效方法
np.concatenate而不是索引技巧。
>>> np.concatenate((a,z), axis=1)array([[1, 2, 0, 0, 0], [3, 4, 0, 0, 0]])
也有
np.resize和
np.ndarray.resize,但是它们有一些限制(由于numpy在内存中布置数据的方式),因此请读取那些上的文档字符串。您可能会发现,简单地串联会更好。
顺便说一句,当我需要执行此操作时,我通常只是按照您已经提到的基本方法进行操作(创建零数组并在其中分配较小的数组),我看不出有什么问题!



