gpt4 book ai didi

python - numpy 向数组添加可变数量的维度

转载 作者:行者123 更新时间:2023-12-05 06:40:30 32 4
gpt4 key购买 nike

有没有办法向 numpy 数组添加可变数量的单例维度?我想要类似 atleast_2d 的东西但是对于任意数量的维度。 expand_dims出现了很多,但只增加了一个维度。

我知道的唯一方法是先计算形状并应用它,即

import numpy as np

def atleast_kd(array, k):
array = np.asarray(array)
new_shape = array.shape + (1,) * (k - array.ndim)
return array.reshape(new_shape)

最佳答案

一个更优雅的方法是np.broadcast_to。例如:

a = np.random.rand(2,2)
k = # number_extra dimensions
b = np.broadcast_to(a, (1,) * k + a.shape)

这会将维度添加到 b 的开头。要获得与给定函数完全相同的行为,您可以使用 np.moveaxis

关于python - numpy 向数组添加可变数量的维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42516569/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com