我有一个这样的数组:
ANOVAInputMatrixValuesArray = [[ 0.96488889, 0.73641667, 0.67521429, 0.592875,
0.53172222], [ 0.78008333, 0.5938125, 0.481, 0.39883333, 0.]]
注意,其中一行的末尾有一个零值。我想删除任何包含零的行,同时在所有单元格中保留包含非零值的行。
但是每次填充数组时,数组的行数不同,而且每次零都位于不同的行中。
我得到每一行中非零元素的数量,代码如下:
NumNonzeroElementsInRows = (ANOVAInputMatrixValuesArray != 0).sum(1)
对于上面的数组,NumNonzeroElementsInRows
包含: [54]
五表示第0行中的所有可能值都是非零的,而四表示第1行中的一个可能值是零。
因此,我尝试使用以下代码行来查找和删除包含零值的行。
for q in range(len(NumNonzeroElementsInRows)):
if NumNonzeroElementsInRows[q] < NumNonzeroElementsInRows.max():
p.delete(ANOVAInputMatrixValuesArray, q, axis=0)
但是出于某种原因,这段代码似乎没有做任何事情,即使执行大量的 print 命令表明所有的变量似乎都正确地填充到代码之前。
必须有一些简单的方法来简单地“删除任何包含零值的行”
有人能告诉我要编写什么样的代码来完成这个任务吗?