我有一个名为 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]
提示:不要将变量命名为 range
、min
或 max
,因为这会影响同名的 Python 内置函数。
关于python - 从数组中取出一个范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38482091/