4

この場合、ほとんどの場合、列内のゼロ以外の要素が 5 つ未満であることを意味します。Matrix は 2d ndarray です。

サンプルデータ:

a = np.array([[1,1,2,1,1],
              [1,1,0,1,0],
              [1,1,0,1,0],
              [1,1,0,3,0],
              [1,1,0,3,0],
              [1,1,1,5,3],
              [1,1,0,1,0],
              [1,1,0,1,0],
              [1,1,4,3,0],
              [1,1,0,4,0],
              [1,1,0,5,0],
              [1,1,0,0,0]])

出力

a = np.array([[1,1,1],
              [1,1,1],
              [1,1,1],
              [1,1,3],
              [1,1,3],
              [1,1,5],
              [1,1,1],
              [1,1,1],
              [1,1,3],
              [1,1,4],
              [1,1,5],
              [1,1,0]])
4

3 に答える 3

1

非効率的なバージョン:

>>> np.array(zip(*(i for i in zip(*a) if i.count(0) < len(i)/2)))
array([[1, 1, 1],
       [1, 1, 1],
       [1, 1, 1],
       [1, 1, 3],
       [1, 1, 3],
       [1, 1, 5],
       [1, 1, 1],
       [1, 1, 1],
       [1, 1, 3],
       [1, 1, 4],
       [1, 1, 5],
       [1, 1, 0]])
于 2013-04-27T11:47:28.600 に答える