Python 将离散子区间从实数映射到[-pi,pi]

Python 将离散子区间从实数映射到[-pi,pi],python,arrays,mapping,Python,Arrays,Mapping,举个例子: x = np.array([-6,-5,-4,-3,-2,-1,0,1,2,3,5,6]) x % (2 * np.pi) 此模运算将区间x映射到[0,2pi] 如果我用pi或-pi替换2pi,我会得到以下结果: array([0.28318531, 1.28318531, 2.28318531, 0.14159265, 1.14159265, 2.14159265, 0. , 1. , 2. , 3. , 1.8

举个例子:

x = np.array([-6,-5,-4,-3,-2,-1,0,1,2,3,5,6])
x % (2 * np.pi)
此模运算将区间x映射到[0,2pi]

如果我用pi或-pi替换2pi,我会得到以下结果:

array([0.28318531, 1.28318531, 2.28318531, 0.14159265, 1.14159265,
   2.14159265, 0.        , 1.        , 2.        , 3.        ,
   1.85840735, 2.85840735])    # for pi

array([-2.85840735, -1.85840735, -0.85840735, -3.        , -2.        ,
   -1.        , -0.        , -2.14159265, -1.14159265, -0.14159265,
   -1.28318531, -0.28318531]) # for - pi
这是不正确的


有人知道把x映射到[-pi,pi]的简单方法吗

我认为这是因为python模
%
返回的结果与分母具有相同的符号(在您的例子中是pi和-pi)。

是的,我也这么认为。你知道把x映射到[-pi,pi]的简单方法吗?这个问题已经解决了将一系列值映射到另一个值的问题,否则请解释一下映射的确切含义