Конкатенация массивов Numpy без копирования

В Numpy я могу объединить два массива из конца в конец с помощью np.append или np.concatenate:

>>> X = np.array([[1,2,3]])
>>> Y = np.array([[-1,-2,-3],[4,5,6]])
>>> Z = np.append(X, Y, axis=0)
>>> Z
array([[ 1,  2,  3],
       [-1, -2, -3],
       [ 4,  5,  6]])

Но они делают копии своих входных массивов:

>>> Z[0,:] = 0
>>> Z
array([[ 0,  0,  0],
       [-1, -2, -3],
       [ 4,  5,  6]])
>>> X
array([[1, 2, 3]])

Есть ли способ объединить два массива в представление, т.е. без копирования? Потребуется ли для этого подкласс np.ndarray?

68
задан Fred Foo 23 October 2011 в 22:33
поделиться