trial=[] for i in range(100): trial.append(np.array([1,2,5])) trial=np.array(trial)
trial.shape的输出是(100,3)。但是我想要的是(3,100)。我知道这不是append的工作方式。你能告诉我这种添加到列表的方式吗?
trial.shape
(100,3)
(3,100)
ct3nt3jp1#
我假设你有一个生成一个3元素列表固定次数的进程,如果不是这样,问题就简单多了。你有几个选择,最简单的就是转置结果:
trial = np.array([[1, 2, 5] for _ in range(100)]).T
更有效的方法是预分配缓冲区:
trial = np.empty((3, 100), dtype='int') for i in range(100): trial[:, i] = [1, 2, 5]
tjvv9vkg2#
你要做的是沿着列轴重复相同的数组[1, 2, 5] 100次。
[1, 2, 5]
trial = np.repeat(np.array([1,2,5])[:, None], 100, axis=1)
2条答案
按热度按时间ct3nt3jp1#
我假设你有一个生成一个3元素列表固定次数的进程,如果不是这样,问题就简单多了。
你有几个选择,最简单的就是转置结果:
更有效的方法是预分配缓冲区:
tjvv9vkg2#
你要做的是沿着列轴重复相同的数组
[1, 2, 5]
100次。