Swap zeros in numpy matrix

后端 未结 6 1388
眼角桃花
眼角桃花 2021-01-20 13:08

I have a numpy matrix like so:

array([[2,  1, 23, 32],
       [34, 3, 3, 0],
       [3, 33, 0, 0],
       [32, 0, 0, 0]], dtype=int32)

Now

6条回答
  •  我在风中等你
    2021-01-20 13:52

    Trivial attempt in non-numpy based python -

    >>> arr = [[2,  1, 23, 32],
    ...        [34, 3, 3, 0],
    ...        [3, 33, 0, 0],
    ...        [32, 0, 0, 0]]
    ... 
    >>> t_arr = [[0 for _ in range(cur_list.count(0))]\
                + [i for i in cur_list if i!=0]\
                for cur_list in arr]
    >>> t_arr
    [[2, 1, 23, 32], [0, 34, 3, 3], [0, 0, 3, 33], [0, 0, 0, 32]]
    

提交回复
热议问题