我有一个数组,通过绘制直方图并用高斯拟合它我想在噪声图上创建一个信号(用我的高斯的西格玛比例).我在几个地方有值0但我想只保留值<0和> 0.
我可以这样写我的剧本吗?
new_SN_map = temp_SN_map[(temp2_SN_map < 0) & (temp_SN_map > 0)]
Run Code Online (Sandbox Code Playgroud)
有没有办法自动删除值0?
对于未来的读者,我将重命名您的数组,使其更通用:
array = temp_SN_map
Run Code Online (Sandbox Code Playgroud)
关于你的问题,有不同的方法.首先,您的提案可行:
new_array = array[(array < 0) & (array > 0)]
Run Code Online (Sandbox Code Playgroud)
但也有其他选择:
new_array = array[array != 0] # using only one comparison
import numpy as np
new_array = array[np.nonzero(array)] # using np.nonzero
new_array = array[np.where(array)] # using np.where
Run Code Online (Sandbox Code Playgroud)
但请注意,每个人都可以做其他人正在做的事情,所以它主要依赖于你认为最合适/可读的东西,或者如果你关心效率,你需要把它计算得最快.
| 归档时间: |
|
| 查看次数: |
482 次 |
| 最近记录: |