python – 通过int选择numpy数组轴
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 通过int选择numpy数组轴,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1356字,纯文字阅读大概需要2分钟。
内容图文
我试图系统地访问一个numpy数组的轴.例如,假设我有一个数组
a = np.random.random((10, 10, 10, 10, 10, 10, 10))
# choosing 7:9 from axis 2
b = a[:, :, 7:9, ...]
# choosing 7:9 from axis 3
c = a[:, :, :, 7:9, ...]
如果我有一个高维数组,键入冒号会非常重复.现在,我想要一些函数choose_from_axis这样
# choosing 7:9 from axis 2
b = choose_from_axis(a, 2, 7, 9)
# choosing 7:9 from axis 3
c = choose_from_axis(a, 3, 7, 9)
所以,基本上,我想访问一个带数字的轴.我知道如何做到这一点的唯一方法是来回使用rollaxis,但我正在寻找更直接的方法来做到这一点.
解决方法:
听起来你可能正在寻找take:
>>> a = np.random.randint(0,100, (3,4,5))
>>> a[:,1:3,:]
array([[[61, 4, 89, 24, 86],
[48, 75, 4, 27, 65]],
[[57, 55, 55, 6, 95],
[19, 16, 4, 61, 42]],
[[24, 89, 41, 74, 85],
[27, 84, 23, 70, 29]]])
>>> a.take(np.arange(1,3), axis=1)
array([[[61, 4, 89, 24, 86],
[48, 75, 4, 27, 65]],
[[57, 55, 55, 6, 95],
[19, 16, 4, 61, 42]],
[[24, 89, 41, 74, 85],
[27, 84, 23, 70, 29]]])
这也将为您提供元组索引的支持.例:
>>> a = np.arange(2*3*4).reshape(2,3,4)
>>> a
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
>>> a[:,:,(0,1,3)]
array([[[ 0, 1, 3],
[ 4, 5, 7],
[ 8, 9, 11]],
[[12, 13, 15],
[16, 17, 19],
[20, 21, 23]]])
>>> a.take((0,1,3), axis=2)
array([[[ 0, 1, 3],
[ 4, 5, 7],
[ 8, 9, 11]],
[[12, 13, 15],
[16, 17, 19],
[20, 21, 23]]])
内容总结
以上是互联网集市为您收集整理的python – 通过int选择numpy数组轴全部内容,希望文章能够帮你解决python – 通过int选择numpy数组轴所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。