Şuna benzeyen bir dizim var:
ANOVAInputMatrixValuesArray = [[ 0.96488889, 0.73641667, 0.67521429, 0.592875,
0.53172222], [ 0.78008333, 0.5938125, 0.481, 0.39883333, 0.]]
Satırlardan birinin sonunda sıfır değerinin olduğuna dikkat edin. Tüm hücrelerde sıfır olmayan değerler içeren herhangi bir satırı tutarken sıfır içeren herhangi bir satırı silmek istiyorum.
Ancak dizi her doldurulduğunda farklı sayıda satıra sahip olacak ve sıfırlar her seferinde farklı satırlarda yer alacaktır.
Her satırdaki sıfır olmayan elemanların sayısını aşağıdaki kod satırıyla alıyorum:
NumNonzeroElementsInRows = (ANOVAInputMatrixValuesArray != 0).sum(1)
Yukarıdaki dizi için NumNonzeroElementsInRows
şunları içerir: [5 4]
Beş, satır 0'daki olası tüm değerlerin sıfır olmadığını belirtirken, dört, satır 1'deki olası değerlerden birinin sıfır olduğunu belirtir.
Bu nedenle, sıfır değerleri içeren satırları bulmak ve silmek için aşağıdaki kod satırlarını kullanmaya çalışıyorum.
for q in range(len(NumNonzeroElementsInRows)):
if NumNonzeroElementsInRows[q] < NumNonzeroElementsInRows.max():
p.delete(ANOVAInputMatrixValuesArray, q, axis=0)
Ancak bazı nedenlerden dolayı, bu kod hiçbir şey yapmıyor gibi görünse de, çok sayıda yazdırma komutu yapmak, tüm değişkenlerin koda doğru doğru şekilde doldurulduğunu gösteriyor.
"Sıfır değeri içeren herhangi bir satırı silmenin" basit bir yolu olmalıdır.
Bunu başarmak için bana hangi kodu yazmam gerektiğini kimse gösterebilir mi?
numpy.delete(x, index)
işe yaramadığını anlayamadım.