我目前正在使用包含字段MMSI、Timestamp、LAT、LON、SOG、COG等的AIS数据集。在这里,COG是地面上的航向,支持的COG值范围从0度到360度。但是,数据集在某些行中包含负值。我想知道有没有什么公式或规则可以把它转换成0-360。由于我正在使用python,如果有人知道如何在Python中做到这一点,我将不胜感激,但任何公式都可以工作。为了方便起见,我附上了一个样本数据集的屏幕截图。

发布于 2021-07-09 23:10:28
要将角度转换为0到360之间的值,请求出除以360的模数:
df["COG_0_to_360"] = df["COG"]%360示例:
-10%360 == 350
10%360 == 10发布于 2021-07-10 00:44:54
下面是我的最终代码:
def COG_0_To_360(cog):
cog = np.fmod(cog, 360.0)
cog = np.where(cog < 0.0, cog + 360.0, cog)
return np.abs(cog)
df['COG'] = COG_0_To_360(df['COG'])示例:
values = [-170, -10, -390, -355, 250, -440]
print(COG_0_To_360(values))
[190 350 330 5 250 280]https://stackoverflow.com/questions/68318934
复制相似问题