python - Numpy unwrap 忽略 NaN

标签 python numpy unwrap

我有一个带有风向记录的长 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/

相关文章:

python - 循环读取文件中的特定行(优化)

python - 找到最重复的! np.数组!在列表中

python - 将整数数组转换为索引字典

rust - 有没有办法做unwrap_or_return一个错误(任何错误)

python - 如何根据函数在调用其项目时返回的内容对列表进行排序

python - 使用 np.where 创建一个包含三个条件的新列

python - 在 IPython 中释放巨大的 numpy 数组的内存

python - 我可以向量化这个二维数组索引,其中第二维取决于第一维的值吗?

swift - fatal error : unexpectedly found nil while unwrapping an Optional value. Swift

ios - 即使我设置了 `numberOfLines = 0`,UILabel 也不换行