我知道我可以做以下事情:
import numpy as np
c = np.random.randn(20, 2)
a = c[:, 0]
b = c[:, 1]
在这里,a
和 b
是指向 c
的第一列和第二列的指针。修改 a
或 b
将改变 c
(反之亦然)。
然而,我想要实现的恰好相反。我想创建一个 2D 的内存视图,每一行(或列)将指向不同 1D 数组的内存。假设我已经有了两个 1D 数组,是否可以创建一个 2D 视图,其中每行/列指向它们中的一个?
我可以通过以下方式从 a
和 b
创建 c
:
c = np.c_[a, b]
然而,这会将 a
和 b
的内存复制到 c
。我是否可以以某种方式创建 c
作为 [a b]
的“视图”,通过修改 c
中的元素来反映在相应的 a
或 b
1D 数组中?