提问者:小点点

Python在一个值的三维数组中查找坐标


我有一个3D数组,我想找到每个值为1的元素的坐标。 我使用numpy,这是我的数组:

table = np.array([
    [
        [1,4,8,6],
        [8]],
    [
        [4],
        [9],
        [5]],
    [
        [6],
        [4]],
    [
        [2],
        [1]]])

基于这个相关问题,我有以下代码:

print(np.argwhere(table == 1))

这段代码正是我想要的(打印值出现的3D坐标),为一个‘简单’的3D数组。 但对我的数组不起作用。

为什么我的当前代码不能在我的数组上工作? 如何在我的数组上得到相同的结果?

它正在处理的数组:

table = np.array([[[ 1, 2, 3],
        [ 8, 4, 11]],

        [[ 1, 4, 4],
        [ 8, 5, 9]],

        [[ 3, 8, 6],
        [ 11, 9, 8]],

        [[ 3, 7, 6],
        [ 9, 3, 7]]])

共1个答案

匿名用户

a_guest的答案是正确的,子列表必须有一个共同的形状才能使np.argwhere正常工作。