我有一个带有风向记录的长 numpy 数组,我试图在运行算法来检测数据跳跃之前使用 numpy 的 unwrap
。数据包含 NaN,而 numpy 似乎无法处理它。一旦遇到一个 NaN,unwrap
返回的所有后续数据点也将转换为 NaN。有解决办法吗?
我认为我的问题归结为与发布的问题相同的问题 here , 但那里只是得出错误与数据中的 NaN 相关的结论,并且没有提供解决方案。
最佳答案
假设您想保留 NaN,最简单的解决方案是在将数组传递给 unwrap
之前屏蔽掉 NaN,并使用相同的屏蔽将结果写回:
a[~np.isnan(a)] = np.unwrap(a[~np.isnan(a)])
如果你想保留原来的数组,使用np.copy
:
b = np.copy(a)
b[~np.isnan(b)] = np.unwrap(b[~np.isnan(b)])
关于python - Numpy unwrap 忽略 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37027295/