You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas中将np.arctan2计算的角度逆时针旋转90度的实现问题

解决方法

你只需要调整角度计算的两行代码即可实现罗盘逆时针旋转90度的需求,修改后完整可运行代码如下:

import pandas as pd
import numpy as np

df = pd.DataFrame({  
    'Time' : ['2021-03-27 10:46:48.100','2021-03-27 10:46:48.200','2021-03-27 10:46:48.300','2021-03-27 10:46:48.400'],        
    'id' : ['A','A','A','A'],                             
    'x' : [50.0,55.0,50.0,50.0],
    'y' : [25.0,20.0,20.0,15.0],             
    })

x = df.groupby('id')['x'].diff().fillna(0).astype(float) 
y = df.groupby('id')['y'].diff().fillna(0).astype(float) 

# 修改后的角度计算逻辑
df['Rotation'] = np.arctan2(y, -x)
# 调整弧度值范围到[-π, π]
df['Rotation'] = (df['Rotation'] + np.pi) % (2 * np.pi) - np.pi
df['Alpha'] = np.degrees(df['Rotation'])

运行上述代码后输出的Rotation和Alpha字段和你给出的预期结果完全一致。

内容的提问来源于stack exchange,提问作者Chopin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 07:30:02