如何解决使用另一个数组作为参考来更改numpy数组的值而无循环
说我有这个数组
x = np.array([0,0
1,1,1
2,2,2])
和
y = np.array([4,5,6])
我希望x
成为
[4,4,4
5,5
6,6,6]
含义,x中的i
变为y[i]
。我觉得花哨的索引编制将对我有帮助,但是我对麻木和挣扎不熟悉。
输入;
[[ 0 0 0 ... 255 255 255]
[ 0 0 0 ... 255 255 255]
[ 0 0 0 ... 255 255 255]
...
[ 0 0 0 ... 255 255 255]
[ 0 0 0 ... 255 255 255]
[ 0 0 0 ... 255 255 255]]
和我想要的输出,给定长度为y
的{{1}}
y = np.array([5,7.......261])
解决方法
您可以使用np.repeat
:
>>> np.repeat(y,x.size / y.size)
array([4,4,5,6,6])
,
如果有(我认为您想要):
x = np.array([[0,0],[1,1,1],[2,2,2]])
y = np.array([4,6])
然后:
y[x]
Out:
array([[4,4],[5,5],[6,6]])
那是。 。 。索引如何工作:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。