python - 从数组中取出一个范围

标签 python arrays numpy range

我有一个名为 wave_data 的数组,其中包含不同的数字。它有 101 个数字,从 0.30000001 到 0.60000002。

这是我的代码:

center_wave = 450e-9
width = 50e-9
wavelengths = wave_data*1e-6

range = width/2
min = center_wave - range
max = center_wave + range

wavelengths = wavelengths[somevariable:somevariable]

目标是让这两个数字(最小和最大变量)成为从数组中选择数字的范围。但是,我被困在这一点上,不知道该怎么做。

最佳答案

Select by boolean mask ,而不是切片:

waverange = width/2
wavemin = center_wave - waverange
wavemax = center_wave + waverange
mask = (wavelengths > wavemin) & (wavelengths <= wavemax)
wavelengths = wavelengths[mask]

提示:不要将变量命名为 rangeminmax,因为这会影响同名的 Python 内置函数。

关于python - 从数组中取出一个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38482091/

相关文章:

javascript - 是否可以仅针对 typescript 上的特定类型扩展 Array.prototype ?

c - 字符串数组值未正确打印

python - NumPy:第三维非零的索引(图像掩蔽)

python - 如何使用 Python 3 安装 pip?

python - Gdb python 脚本: No symbol in current contex - even if symbol is there

javascript - 如何使用angularJS过滤选中的复选框

python - 你如何计算无限分布的期望值? (特别是在 python )

python - 如何使用 NumPy 数组实现字典?

python - 将值附加到 Pandas 系列

python - 无法使用python在dbus中调用klipper方法