numpy 在Python中一次移除所有零行和零列

xdnvmnnf  于 2023-02-12  发布在  Python
关注(0)|答案(1)|浏览(121)

我想从数组A1中删除一行中所有的零行和零列。我给出了当前输出和预期输出。

import numpy as np

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

A1 = A1[~np.all(A1 == 0, axis=0)]
print([A1])

当前输出为

[array([[0, 1, 2],
       [0, 3, 4]])]

预期输出为

[array([[1, 2],
        [3, 4]])]
vs91vp4v

vs91vp4v1#

不太确定示例是否有效,但根据标题中的描述-对于矩阵matrix,可以使用

mask = matrix != 0
new_matrix = matrix[np.ix_(mask.any(1), mask.any(0))]

你可以查看this关于np.ix_的帖子

相关问题