我有一个数组,假设为:
A = np.array([1., 2.])
我可以简单地执行以下操作来添加一个新的维度:
我只需做类似于以下的事情:
def redim(arr):
return arr[:, None]
现在,我想通过以下方式动态添加额外的维度:
def redim(arr, dims):
return arr[dims]
所以,我可以做以下这些事情:
redim(A, [:, None])
redim(A, [None, :])
redim(A, [none, :, None])
有人知道这是否可能吗?
第二个参数应该是什么类型,以便我可以动态修改它?(字符串、对象、列表)?如何连接两个参数以获取扩展数组?
我知道我可以通过使用expand_dims
方法来实现,但如果有一种方法可以一次性定义所有扩展的维度,那么我的代码将会更清晰。
先感谢您!
reshape
返回原始数组的视图,不修改原始数组。如果您想要就地进行redim
,必须像这个答案中一样使用A = A.reshape(newshape)
,或者使用A.resize(newshape)
或A.shape = newshape
来真正地在原地操作。 - askewchan