2011-12-04 49 views
0

我有一個矩陣,它是在類的開始處構建的,然後繼續在一對夫婦中使用然後在最後一個函數中,我想從矩陣中刪除一行,而不必爲它使用新的變量名,否則我將不得不改變每一個函數調用(它會循環直到找到勝利者)。它有點像這樣的作品numpy.delete()要求我返回一個新的矩陣(名稱),並且不能與我的代碼一起工作

matrix defined 

...a lot of functions that use it then winner is called 

def winner(): 
    if hasWon(): 
     ..... 
    else: 
     fun1() 

def fun1(): 
    ..... 
    Iterativefun() 

def Iterativefun(): 
    ..... 
    matrix = numpy.delete(matrix, obj,axis) 
    winner() 

有沒有辦法刪除一行?我想將該行中的每一個數字從1-10改爲0,這是我沒有使用的,所以它會被忽略。任何幫助將不勝感激

回答

1

我不確定你有什麼版本的Numpy(或者正是你想要做的事情),但如果你有Numpy 1.7,numpy.squeeze看起來可能是你是在尋找... http://docs.scipy.org/doc/numpy/reference/generated/numpy.squeeze.html#numpy.squeeze

+0

我發現了一個小的解決方法,我在一開始有計數= 0,一旦它第一次運行Iterativefun(),它就會增加它。然後在我的其他代碼中,我只是使用。 '如果(COUNT = 0) 樂趣(原矩陣) 其他 樂趣(新基質)' 感謝您的幫助 –

1

如果在更改排爲全零是可以接受的,你可以用:

matrix[row] = 0 
+0

這是不是最好的解決辦法,但我實現它在一開始只是這樣我就可以移動在更重要的任務上,我找到了頂層的解決方案。謝謝您的幫助 –

相關問題