75278350@qq.com 发表于 2024-5-16 10:18:01

argwhere问题

大神求助!


import numpy as np
arr = np.array([,
            ,
            ])
result = np.argwhere(arr != 0)
print(result)
result2 = np.argwhere(result)
print(result2)


为什么result2的输出值是1?

FishC 发表于 2024-5-16 10:18:16

首先,对于你的代码,其中np.array([, , ])是无法运行的,因为没有提供具体的数组值。

不过,我可以解释为什么result2的输出值是1。

在你的代码中,result是通过np.argwhere(arr != 0)计算得出的。这会返回一个包含非零元素索引的二维数组。例如,如果你的arr数组是[, ],那么result将是一个包含非零元素索引的数组:[, , , ]。

而接下来的np.argwhere(result)则是对result数组再次应用argwhere函数。由于result本身已经是一个包含非零元素索引的二维数组,所以再次调用argwhere函数实际上是在寻找非零元素的索引,结果将是一个长度为1的一维数组。

总之,result2的输出值为1,是因为result数组中只有一个非零元素的索引。

希望能够帮助到你!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: argwhere问题