gpt4 book ai didi

python - 在 NumPy 中,如何在不使用 np.s_ 的情况下从一维数组中提取范围?

转载 作者:行者123 更新时间:2023-12-03 23:45:53 25 4
gpt4 key购买 nike

假设一个像这样的数组:

a = np.arange(10)
我想删除索引 2 到 5 中的数字。
我可以这样做:
a = np.delete(a, np.s_[2:6])
现在 a包含 [0, 1, 6, 7, 8, 9] .但是 Numba 不支持此功能,我需要使用 Numba 编译此代码。
我需要仅使用“基本”NumPy 函数来完成相同的操作(这里的任何内容都可以: https://numba.pydata.org/numba-doc/dev/reference/numpysupported.html )。不幸的是 s_对象不受支持。
我怎样才能做到这一点?如果我需要进行多次调用或 tmp 数组,那也没关系。

最佳答案

无论您如何操作,都会创建临时数组。你可以使用一些非常简单的索引来获得你想要的:

a = np.arange(10)
a = np.delete(a, slice(2, 6))
s_ 的文档几乎在笔记中告诉你如何做到这一点。对 s_ 的一维调用主要是 slice 的简写.
使用 delete 在这里可能是正确的选择,因为它比手动切片开始和结束并集中更有效地分配输出。

关于python - 在 NumPy 中,如何在不使用 np.s_ 的情况下从一维数组中提取范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62826317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com