Пифонический способ быстрой замены элемента i на `` `[i, i, i]` `` в массиве NumPy? - PullRequest
0 голосов
/ 14 апреля 2019

Я видел много вопросов с ответами о том, как эффективно заменить элементы массива NumPy конкретными вещами, такими как «1» или чем-то, если они удовлетворяют определенным условиям.

Я хочу заменить все элементы в двумерном массиве NumPy на собственный массив, т.е. элемент i превращается в элемент [i,i,i] или, возможно, [f(i),g(i),h(i)] для некоторых функций f(x),g(x),h(x), которые я указываю. Как это можно сделать питонически (и, желательно, способом, приемлемым для Нумбы)?

1 Ответ

2 голосов
/ 14 апреля 2019

Использование np.repeat:

a = np.repeat(np.arange(30).reshape(10, 3)[..., np.newaxis], 3, axis=2)
print(a.shape)
print(0, 0, :)

Выход:

(10, 3, 3)
[0 0 0]
...