错误: RuntimeWarning:在更大的范围内遇到无效值
我正在尝试对一些风向为361(不可能的值)且风速大于30的数据进行质量控制。还有另一个np.where语句来标识第二种风向条件。我正在使用相等比较来检查风向(在哪里),并且使用大于比较来检查风速(请参阅下文)。该程序中唯一出错的行是风速大于。我已经尝试使用具有相同的大于比较的badLoc(使其成为np.array)列表,并且没有问题,但是如果我尝试将比较从WDIR180变量中的“等于”更改为“大于”,那么我遇到同样的问题。所有类型都是numpy.ndarray。之后,我使用badLoc中的索引,通过将这些值设置为np.nan来对数据进行质量控制。某些缺少值的数据已经设置为np.nan。
wspd = np.array(sortdf["Wind_Speed (m/s)"])
wdir = np.array(sortdf["Wind_Direction (deg)"])
WS30 = np.where(wspd > 30)[0]
WDIR180 = np.where(wdir == 180)[0]
WDIR361 = np.where(wdir == 361)[0]
badLoc = list(set(WS30) & ( set(WDIR361) | set(WDIR180)))
我可以简单地使警告消失,但是我希望看看是否有人知道为什么它会给我这个特殊的运行时错误?