【发布时间】:2023-02-09 18:23:22
【问题描述】:
我有一个数组 A1。我正在删除零行和零列,但我还想确定删除了哪一行和哪一列。我展示了当前和预期的输出。
import numpy as np
A1=np.array([[0, 1, 2],
[0, 0, 0],
[0, 3, 4]])
mask = A1!= 0
A2 = A1[np.ix_(mask.any(1), mask.any(0))]
print([A2])
当前输出是
[array([[1, 2],
[3, 4]])]
预期的输出是
[array([[1, 2],
[3, 4]])]
[1] where 1 is the deleted row,
[0] where 0 is the deleted column
【问题讨论】:
-
你当前的输出和预期的输出是一样的,为什么?
-
这是不一样的,因为当前输出没有告诉删除了哪一行和哪一列。它仅呈现删除行和列后获得的最终数组,
-
如果你的
A1数组没有整行零行/列,比如np.array([[0, 1, 0], [0, 0, 1], [1, 3, 0]])怎么办?