【发布时间】:2018-03-10 04:14:26
【问题描述】:
我想通过索引一个数组来提取结果
a = np.array([[10,20,30,40,50,60],
[15,25,35,45,55,65]])
b = np.array([[0,1,2,2,3,4,5,2,5,1,3,4,2,2,3,4,5,2,5,1],
[0,4,5,2,5,1,3,0,2,1,2,2,3,4,5,2,5,1,3,4]])
预期输出:
a[:,b]
[[10 20 30 30 40 50 60 30 60 20 40 50 30 30 40 50 60 30 60 20]
[15 55 65 35 65 25 45 15 35 25 35 35 45 55 65 35 65 25 45 55]]
但实际上得到了:
[[[10 20 30 30 40 50 60 30 60 20 40 50 30 30 40 50 60 30 60 20]
[10 50 60 30 60 20 40 10 30 20 30 30 40 50 60 30 60 20 40 50]]
[[15 25 35 35 45 55 65 35 65 25 45 55 35 35 45 55 65 35 65 25]
[15 55 65 35 65 25 45 15 35 25 35 35 45 55 65 35 65 25 45 55]]]
我可能了解发生了什么,但我不知道如何才能获得正确的输出。我希望得到帮助。谢谢
【问题讨论】:
-
那是
a[:, b]吗?缺少逗号? -
感谢您指出错误已得到纠正
-
你实际得到的是正确的输出。尝试使用具有 2 或 3 个元素的较小数组。在 a[:,b] 中,“:”表示每一行。因此,输出的第一行将仅包含来自 A 的第一行的元素。输出的第二行将仅包含来自 B 的第二行的元素。