【发布时间】:2018-01-13 13:50:50
【问题描述】:
想知道是否有一种简单的方法可以做到这一点:
假设我有一个形状为 (2,3,2) 的 numpy 数组,例如:
x =
[[[ 0, 1],
[ 2, 3],
[ 4, 5]],
[[ 6, 7],
[ 8, 9],
[10,11]]]
如果我想用零替换与axis=1 和position=0 对应的所有条目,我可以轻松地做到这一点:
x[:,0,:] = 0
x =
[[[ 0 0]
[ 2 3]
[ 4 5]]
[[ 0 0]
[ 8 9]
[10 11]]]
但是,如果我有一个想要执行这些操作的轴列表,该怎么办。是否有内置的 numpy 函数?理想情况下,它看起来像这样:
array_replace(array=x,axis=1,pos=0,replace_val=0)
这将给出与上面相同的数组。
我可以想办法做到这一点,通过展平矩阵并根据每个数组的维度计算每个变量的位置,但我想知道 numpy 中是否已经内置了一些东西。
【问题讨论】:
-
我不确定你想要什么,但这不是最好的方法,我可以保证。 Numpy 足够强大,可以轻松地对此类操作进行矢量化。