假设我有一个如下所示的数组:
arr = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
我还有另一个数组slicer = [1,3,2]
。我想应用这些值作为轴0上的切片索引沿轴1测量。你知道吗
这不起作用(事实上也没有办法指定沿着部分是ndarray中的轴1),但是假设我尝试了arr[:slicer, :]
我希望得到
out = [[1, 2, 3],
[nan, 5, 6],
[nan, 8, nan]]
它是应用片arr[:1, :]
、arr[:3, :]
、arr[:2, :]
然后分别从这些列中选择第1、第2和第3列并重新组合到上面的数组中,删除缺失的值的组合。你知道吗
我想避免循环,并试图找到一个快速矢量化的解决方案
对于此操作,您需要首先生成一个布尔索引掩码,该掩码标记要设置为
nan
的所有字段。广播使执行“外部比较”变得容易,从而产生所需的结果然后您可以简单地使用这个掩码来索引
data
相关问题 更多 >
编程相关推荐