是否存在numpy.all()的反转版本?

Auf*_*ind 4 python numpy

如以下文档中所述numpy.all():

numpy.all()测试沿给定轴的所有数组元素是否都计算为True.

是否存在相反的函数:检查沿给定轴(我需要对角线)的所有数组元素是否计算为False.

我特别需要的是检查每个位置的二维矩阵的对角线是否为零.

mat*_*fee 11

首先,要提取对角线,您可以使用mymatrix.diagonal().

有很多方法可以做你想要的.

要测试它到处都是零numpy.all(mymatrix.diagonal() == 0).

或者,"一切都等于零(假)"与"不等于真"相同,所以你也可以使用not numpy.any(mymatrix.diagonal()).

因为它是一个数值矩阵,你可以只加上对角线上元素的绝对值,如果它们都是0,则每个元素必须为零:numpy.sum(numpy.abs(mymatrix.diagonal()))==0.