我有一个可能看起来像这样的数组:
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
包含:[5 4]
五个表示第0行中的所有可能值都不为零,而四个表示第1行中的可能值之一为零。
因此,我试图使用以下代码行来查找和删除包含零值的行。
for q in range(len(NumNonzeroElementsInRows)):
if NumNonzeroElementsInRows[q] < NumNonzeroElementsInRows.max():
p.delete(ANOVAInputMatrixValuesArray, q, axis=0)
但是由于某种原因,即使执行大量打印命令表明所有变量似乎都正确填充了代码,该代码似乎也无能为力。
必须有一些简单的方法来简单地“删除包含零值的任何行”。
谁能告诉我要编写什么代码来完成此任务?
numpy.delete(x, index)
不起作用。