Построение массива с использованием плитки - PullRequest
1 голос
/ 07 декабря 2011

Мой вопрос: как я могу получить b из a , используя плитку?

a = np.array([[1,2,-6],[-4,5,6],[10,8,-1]])

b = np.array([
          [[1,2,-6],[1,2,-6],[1,2,-6]],
          [[-4,5,6],[-4,5,6],[-4,5,6]],
          [[10,8,-1],[10,8,-1],[10,8,-1]]
         ])

Я сделал это так, но я хочу что-то лучше:

b = np.repeat(a, 3, axis=0).reshape(3,3,3)

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

У вас уже есть хороший синтаксис для плитки: b = np.tile(a,3).reshape((3,3,3))

1 голос
/ 08 декабря 2011

Вы можете использовать трансляцию:

b = a.reshape((3,1,3)) * np.ones((1,3,1))
...