你应该得到你想要的答案
stacked = np.column_stack(all_vectors[:100000])
这和这似乎没有区别
stacked = np.array(all_vectors[:100000]).transpose()
正如您在本次互动会话中所见:
>>> stacked = np.column_stack(all_vectors[:100000])
>>> sstacked = np.array(all_vectors[:100000]).transpose()
>>> stacked == sstacked
array([[ True, True, True, ..., True, True, True],
[ True, True, True, ..., True, True, True],
[ True, True, True, ..., True, True, True],
...,
[ True, True, True, ..., True, True, True],
[ True, True, True, ..., True, True, True],
[ True, True, True, ..., True, True, True]], dtype=bool)
>>> (stacked == sstacked).all()
True
编辑:计时结果似乎更喜欢第二种方法:
%%timeit
vector = list(range(1, 1+10))
all_vectors = [vector] *100_000
result = np.column_stack(all_vectors)
396 ms ± 18.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%%timeit
vector = list(range(1, 1+10))
all_vectors = [vector] *100_000
result = np.array(all_vectors)
np.array(all_vectors[:100000]).transpose()
152 ms ± 3.16 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)