B = np.array([[1,0,0,0],[1,1,0,0], [1,1,1,0],[1,1,1,1]])
输出结果:
array([[1, 0, 0, 0],
[1, 1, 0, 0],
[1, 1, 1, 0],
[1, 1, 1, 1]])
r = np.tril_indices_from(B)
输出结果:
(array([0, 1, 1, 2, 2, 2, 3, 3, 3, 3], dtype=int64),
array([0, 0, 1, 0, 1, 2, 0, 1, 2, 3], dtype=int64))
可以对列表的索引变成了两个数组,在大量数据的时候可以很方便索引值。
比如
for coord in zip(*r):
B[coord[0], coord[1]] = 0
我们就得到了一个上三角矩阵
array([[0, 0, 0, 0],
[0, 0, 1, 1],
[0, 0, 0, 0],
[0, 0, 0, 0]])
本文介绍如何利用numpy库中的tril_indices_from函数生成上三角矩阵的索引,通过示例代码展示了其在矩阵操作中的应用,特别适用于大数据集的高效索引处理。
629

被折叠的 条评论
为什么被折叠?



