我可以使用itertools的各种函数来创建numpy数组。我可以很容易地提前计算出乘积、组合、排列等元素的数量,因此分配空间不应该是一个问题。
例如:
例如:
coords = [[1,2,3],[4,5,6]]
iterable = itertools.product(*coords)
shape = (len(coords[0]), len(coords[1]))
arr = np.iterable_to_array(
iterable,
shape=shape,
dtype=np.float64,
count=shape[0]*shape[1]
) #not a real thing
answer = np.array([
[1,4],[1,5],[1,6],
[2,4],[2,5],[2,6],
[3,4],[3,5],[3,6]])
assert np.equal(arr, answer)
arr = np.array(list(iterable))
对你来说不起作用,是有原因的吗?你可能在寻找np.formiter
,但是它在处理多维数组方面表现不佳,至少我上次尝试时是这样。 - juanpa.arrivillagaempty
! - juanpa.arrivillaga