numpy.delete()要求我返回一个新的矩阵(名称),这不能用于我的代码

时间:2011-12-04 04:55:48

标签: python numpy

我有一个矩阵,它是在类的开头构建的,然后我继续使用几个函数然后在最后一个函数中我想从矩阵中删除一行而不必使用新的变量名否则我将不得不改变每一个函数调用(它循环直到找到胜利者)。它有点像这样

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,我没有使用它,所以它会被忽略。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

我不确定你有什么版本的Numpy(或者你正在尝试做什么),但如果你有Numpy 1.7,numpy.squeeze看起来可能是你的寻找... http://docs.scipy.org/doc/numpy/reference/generated/numpy.squeeze.html#numpy.squeeze

答案 1 :(得分:1)

如果可以将行更改为全零,则可以使用:

matrix[row] = 0