我目前正在使用ais数据集,该数据集包含mmsi、timestamp、lat、lon、sog、cog等字段。在这里,cog位于地面上,支持的cog值范围为0到360度。但数据集在某些行中包含负值。我想知道是否有任何公式或规则可以将其转换为0-360。因为我正在使用python,如果有人知道如何使用python,我将不胜感激,但任何公式都可以工作。为了方便起见,我附上了一个示例数据集的屏幕截图。
zynd9foi1#
要将Angular 转换为介于0和360之间,请找到除以360的模数:
df["COG_0_to_360"] = df["COG"]%360
示例:
-10%360 == 350 10%360 == 10
gjmwrych2#
这是我的最终代码:
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]
2条答案
按热度按时间zynd9foi1#
要将Angular 转换为介于0和360之间,请找到除以360的模数:
示例:
gjmwrych2#
这是我的最终代码:
例子: