我有一组以数学度坐标记录的LIDAR数据(即北纬90度),但是我试图以气象坐标(即0,北纬360度)作图
我知道为了使转换生效而需要执行的数学运算,但是实现起来很困难。
我不确定最好使用list
或np.array
处理数据。我目前一直在尝试以数组形式使用
if np.where((wdir1>0)&(wdir1<90)):
wdir_1 = abs(wdir1-90)
elif np.where((wdir1>90)&(wdir1<360)):
wdir_1 = abs (wdir1-450)'
但是,这样做是将数组中的所有值都减去90。而我希望将0和90之间的唯一值都减去90。大于90且小于360的值要减去450。 / p>
答案 0 :(得分:0)
在应用操作之前,您需要对数组进行切片。
这样,仅在条件为True
的情况下才更改数组。
wdir_1[np.logical_and(0 <= wdir_1, wdir_1 < 90)] -= 90
wdir_1[np.logical_and(90 <= wdir_1, wdir_1 < 360)] -= 450
wdir_1 = np.abs(wdir_1)