使用长数组时,numpy unwrap出错

2024-05-29 03:58:49 发布

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

我试图使用函数numpy.unwrap来纠正某些相位

我有2678399条记录的长向量,它包含两个角度之间的弧度差。数组包含nan值,但我认为这与unwrap独立应用于每个记录无关。在

当我应用unwrap时,by400记录在数组的其余部分生成nan值

如果我申请np.展开只对原始数组的一个片段进行操作就可以了。在

这个函数可能有错误吗?在

d90dif=(df2['d90']-df2['d90avg'])*(np.pi/180)#difference between two angles in radians
df2['d90dif']=np.unwrap(d90dif.values)#unwrap to the array to create new column

只是为了解释问题

^{pr2}$

现在我用一个小数组重复这个过程

test=d90dif[700:705]
2013-01-01 00:11:41    0.087808
2013-01-01 00:11:42    0.052901
2013-01-01 00:11:43    0.000541
2013-01-01 00:11:44    0.087808
2013-01-01 00:11:45    0.017995
dtype: float64

unw=np.unwrap(test.values)
array([ 0.08780774,  0.05290116,  0.00054128,  0.08780774,  0.01799457])

现在没事了。如果我用unwrap()中的数据帧输入进行操作,也可以正常工作


Tags: to函数testnumpynp记录数组nan
2条回答

似乎南的价值观起着重要的作用

test

2013-01-01 00:11:41    0.087808
2013-01-01 00:11:42    0.052901
2013-01-01 00:11:43    0.000541
2013-01-01 00:11:44         NaN
2013-01-01 00:11:45    0.017995
dtype: float64

如果列中有nan,则从那里所有内容都成为nan

^{pr2}$

我想说这是个虫子,但是。。。在

通过查看documentation of unwrap,似乎NaN会有一个效果,因为该函数正在查看相邻元素的差异来检测相位中的跳跃。在

相关问题 更多 >

    热门问题