在 NumPy 数组中用 ```[i,i,i]``` 快速替换元素 i 的 Pythonic 方法?
Pythonic way of replacing element i with ```[i,i,i]``` in NumPy array quickly?
我已经看到很多关于如何用特定的东西(例如“1”或其他东西)有效地替换 NumPy 数组的元素(如果它们满足特定条件)的问题和答案。
我希望将 2D NumPy 数组中的所有元素替换为它们自身的数组,即将元素 i
转换为元素 [i,i,i]
或者对于某些函数可能是 [f(i),g(i),h(i)]
f(x),g(x),h(x)
我指定的。如何以 python 方式完成此操作(最好以 Numba 同意的方式)?
使用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]
我已经看到很多关于如何用特定的东西(例如“1”或其他东西)有效地替换 NumPy 数组的元素(如果它们满足特定条件)的问题和答案。
我希望将 2D NumPy 数组中的所有元素替换为它们自身的数组,即将元素 i
转换为元素 [i,i,i]
或者对于某些函数可能是 [f(i),g(i),h(i)]
f(x),g(x),h(x)
我指定的。如何以 python 方式完成此操作(最好以 Numba 同意的方式)?
使用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]