我有一个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]]])
a_guest的答案是正确的,子列表必须有一个共同的形状才能使np.argwhere正常工作。