Python Numpy:切片矩阵以删除一行和一列
给定一个n乘n矩阵(技术上是np.array)L,我希望删除第k行和第k列。这行代码按预期工作(它选择第1到第3行和第3列): 当我尝试用动态生成的元组(不包括k)替换(1,2,3)时,它失败了:Python Numpy:切片矩阵以删除一行和一列,python,numpy,matrix,Python,Numpy,Matrix,给定一个n乘n矩阵(技术上是np.array)L,我希望删除第k行和第k列。这行代码按预期工作(它选择第1到第3行和第3列): 当我尝试用动态生成的元组(不包括k)替换(1,2,3)时,它失败了: keep = (i for i in range(n) if i != k) Lt = L[keep,keep] # IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and intege
keep = (i for i in range(n) if i != k)
Lt = L[keep,keep]
# IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
我怎样才能正确地做到这一点
这是一个生成器表达式,而不是生成的元组本身;相反,试试看
keep = tuple(i for i in range(n) if i != k)
这是一个生成器表达式,而不是生成的元组本身;相反,试试看
keep = tuple(i for i in range(n) if i != k)
keep = tuple(i for i in range(n) if i != k)