二维 numpy 数组的上对角线

10 投票
4 回答
1165 浏览
提问于 2025-04-16 08:32

这看起来很简单(其实写个三行的循环就能搞定),但是我该怎么用numpy的切片功能来获取一个numpy数组上三角部分的索引位置呢?也就是说,

假设有一个4x4的数组,我想要得到X的位置的索引:

[ X X X X ]
[ 0 X X X ]
[ 0 0 X X ]
[ 0 0 0 X ]

结果应该是:

[ (0,0), (0,1), (0,2), (0,3), (1,1), (1,2), (1,3), (2,2), (2,3), (3,3) ]

4 个回答

7

虽然索引位置的格式不一样,但看起来你想要的功能是 numpy.triu_indices

8

carnieri 先我一步回答了关于 numpy.triu_indices 的问题,但还有一个 numpy.triu_indices_from,它是直接用一个数组作为输入,而不是用数组的尺寸。

撰写回答