如何通过复制将1D数组转换为2D数组

时间:2018-11-26 12:55:46

标签: python numpy

说我有一个形状为(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()创建副本,但是我不想首先将数组转换为列表。

2 个答案:

答案 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)])