这是我的第一个问题。所以让我们看看我能不能解释清楚我需要什么。你知道吗
我得到了一个pythonlist
的numpy数组,它可以有或者不能有不同的长度(仅在一维中,但这在这里并不重要),例如
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.数组不影响嵌套的numpy数组。你知道吗
另一种(愚蠢的)方式,至少有单一表达的优点:
首先创建一个空的对象数组并用我的\列表填充它,例如:
相关问题 更多 >
编程相关推荐