我正在使用一个numpy矩阵,我称之为A,由n行和5列组成 .
假设第2列中的所有值都包含正整数或零 . 如果A [j,2]等于k,其中k是大于或等于2的整数,我想从矩阵A中删除前面的k行;即,矩阵A中的行j,j-1,...和j-(k-1) .
注意,如果[j,2] = k,前面的k行肯定会等于0,所以没有'重叠' . 但这些并不是本专栏中唯一等于0的元素 .
有没有人有任何想法?我已经使用过numpy.delete和类似的函数了很多次,但是无法生成这个问题的解决方案 .
例:
A = matrix([[9,9,0,9,9],
[1,2,1,9,9],
[8,8,0,2,3],
[7,7,0,7,8],
[1,2,0,3,4],
[6,6,3,6,6],
[1,2,0,1,2]])
手术后,应该成为:
Anew = matrix([[9,9,0,9,9],
[1,2,1,9,9],
[8,8,0,2,3],
[1,2,0,1,2]])
因为'3'(在A的倒数第二行)意味着3行(即倒数第二行,前两行必须从矩阵中删除 . )
1 回答
OUTPUT: