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

标签 python arrays python-3.x numpy numba

假设一个像这样的数组:

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/

相关文章:

python - 接收属性错误 : __exit__ even when WITH object has EXIT defined

python - 你如何解析用 pysvn 创建的 diff 文件?

python - 有没有一种标准方法来确保 python 脚本将由 python2 而不是 python3 解释?

python - 根据 bool 拆分 numpy 数组

python - 如何格式化 matplotlib 堆积面积图轴以仅显示给定的范围?

python - 使用 asyncio 的非阻塞 I/O

python - PyInstaller 卡住的 PyQt4 脚本给出 fatal error :"Failed to execute script xyz"

python - 等待 paramiko exec_command 完成

javascript - 如何从代理数组中删除或插入项目?

c++ - 我应该怎么做才能初始化结构数组