如何制作一个“圆形”阵列,其中1接近360或359?

2024-06-16 11:03:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理一些关于沉积脊中碎屑方向的数据。我测量了碎屑倾斜的罗盘方向,并将数据放入numpy阵列中。问题是现在的阵列是线性的。当我进行统计分析时,如何告诉Python 357和3与360之间的距离相同?可以做一个圆形阵列吗


Tags: 数据numpy距离线性圆形方向碎屑沉积
1条回答
网友
1楼 · 发布于 2024-06-16 11:03:38

很难说没有MWE如何帮助你,但我可以指出,模(%)通常是处理循环量的方式

1-360           # -359
360-359         # 1
(1-360) % 360   # 1
(360-359) % 360 # 1

359-360         # -1
360-1           # 359
(359-360) % 360 # 359
(360-1) % 360   # 359

如果方向不重要,可以通过以下方法找到最小角度差:

def diff(a, b, turn=360): return min( ((a-b) % turn) , ((b-a) % turn) )

相关问题 更多 >