gpt4 book ai didi

python - 为什么 np.argwhere 的结果形状与其输入不匹配?

转载 作者:行者123 更新时间:2023-11-30 22:18:17 28 4
gpt4 key购买 nike

假设我传递一个一维数组:

>>> np.arange(0,20)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19])
>>> np.arange(0,20).shape
(20,)

进入argwhere:

>>> np.argwhere(np.arange(0,20)<10)
array([[0],
[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8],
[9]])
>>> np.argwhere(np.arange(0,20)<10).shape
(10, 1)

为什么结果变成了二维数组?这样做有什么好处?

最佳答案

argwhere 返回条件为 True 时的坐标。一般来说,坐标是元组,因此输出应该是二维的。

>>> np.argwhere(np.arange(0,20).reshape(2,2,5)<10)
array([[0, 0, 0],
[0, 0, 1],
[0, 0, 2],
[0, 0, 3],
[0, 0, 4],
[0, 1, 0],
[0, 1, 1],
[0, 1, 2],
[0, 1, 3],
[0, 1, 4]])

为了保持一致性,这也适用于一维输入的情况。

关于python - 为什么 np.argwhere 的结果形状与其输入不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49417315/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com