gpt4 book ai didi

python - 如何创建具有相同和不同长度的其他 numpy 数组的 numpy _object_ 数组?

转载 作者:行者123 更新时间:2023-12-01 04:07:51 29 4
gpt4 key购买 nike

这是我的第一个问题。所以让我们看看我是否可以准确解释我需要什么。

我得到了一个 numpy 数组的 python list ,它可以或不能有不同的长度(仅在一维,但这在这里并不重要),例如

my_list = [
np.ones((20, 3, 3)),
np.ones(( 1, 3, 3)),
np.ones((20, 3, 3))
]

现在当我这样做

wrapped_list = np.array(my_list)

我得到一个具有以下结构的对象

np.array(shape=(3, ), dtype=object)

以最初的三个数组作为内容。这就是我要的。现在的问题是:

如果my_list包含相同长度的子列表,那么我得到,例如

my_list2 = [
np.ones((20, 3, 3)),
np.ones((20, 3, 3)),
np.ones((20, 3, 3))
]

np.array(my_list2)

导致

np.array(shape=(3, 20, 3, 3), dtype=np.float64)

这不是我想要的。我尝试指定dtype,例如

np.array(my_list, dtype=object) 

它将所有(子)数组转换为dtype=object

我想我找到了一种完全不需要包装的方法,但我很好奇如何在 np.array 上设置 dtype 而不影响嵌套的 numpy 数组。

最佳答案

先创建一个空对象数组,并用my_list填充它,例如:

wrapped_list = np.empty((3,),dtype=object)
wrapped_list[:] = my_list2

关于python - 如何创建具有相同和不同长度的其他 numpy 数组的 numpy _object_ 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35341297/

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