4

我有一个带有风向记录的长 numpy 数组,我试图unwrap在运行算法来检测数据中的跳跃之前使用 numpy。数据包含 NaN,numpy 似乎无法处理它。一旦遇到一个 NaN,所有后续返回的数据点unwrap也会转换为 NaN。有没有解决的办法?

我认为我的问题归结为与此处发布的相同问题,但仅得出结论认为该错误与数据中的 NaN 有关,并且没有提供解决方案。

4

1 回答 1

6

假设您想保留 NaN,最简单的解决方案是在将数组传递给之前屏蔽掉 NaN,unwrap并使用相同的掩码将结果写回:

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)])
于 2016-05-04T12:33:28.520 回答