说我有一个形状为(5,)的一维numpy数组:
a = np.array(range(0,5))
我想通过将数组复制3次以上来将其转换为二维数组,以便形状为(5,3),例如:
array([[0,1,2,3,4],
[0,1,2,3,4],
[0,1,2,3,4]])
我该怎么做?我知道有了列表,您可以使用list.copy()创建副本,但是我不想首先将数组转换为列表。
答案 0 :(得分:2)
使用numpy.tile
。
>>> a = np.arange(5)
>>> np.tile(a, (3, 1))
array([[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]])
答案 1 :(得分:1)
您可以在列表上使用*
运算符。
import numpy as np
arr = np.array(3*[range(0,5)])