检查Numpy数组中的先前值

时间:2018-04-19 10:07:54

标签: python numpy

我试图检查数组中的前90个值(或直到数组的开头)以确定某个值是否已存在。

到目前为止,我的代码只是检查以前的值:

overt = np.array([])

if frame ==0: 
    overt = np.append(overt,lachange)

else: 
    pframe = frame - 1
    plachange = overt[pframe]
    if lachange ==0:
        overt = np.append(overt,lachange)
    elif lachange ==1:
        if plachange == lachange:
           overt = np.append(overt,0)
           lachange = 0
        else:
            overt = np.append(overt,lachange)

如果车辆已改变车道,则值为1;如果车辆已经改变,则值为0但如果在3秒的时间段内值为1,则我希望仅记录第一个,并且以下值为0.

1 个答案:

答案 0 :(得分:1)

据我了解,您想要做的是: 如果lachange为1则将1附加到公开,并且最后90个值都是非-1 将0添加到其他地方

def add_change(lachange, overt):
    if (lachange == 1) and (not (1 in overt[-90:])):
        overt.append(1)
    else
        overt.append(0)

公开[-90:]获取公开的最后90个值。如果少于90个值,则会抓取所有内容(如果明显为空,则不会抓取任何内容)。

公开[ - 90:]中的

1如果其中有1(已发生车道变换)则返回True,否则返回False。用于不翻转值

这会检查是否有换道(lachange == 1)并且最后90个项目中没有换道。如果是这样,请为其添加1。否则,添加0

编写的代码假定是列表而不是numpy数组。如果是数组,则必须更改append语句,并在结尾处返回