相关疑难解决方法(0)

如何对使用其自身输出的滞后值的函数进行矢量化?

对于这个问题的糟糕措辞,我感到很遗憾,但这是我能做的最好的事情.我确切地知道我想要什么,但不知道如何要求它.

以下是一个示例演示的逻辑:

采用值1或0的两个条件触发一个也取值为1或0的信号.条件A触发信号(如果A = 1则信号= 1,否则信号= 0)无论如何.条件B不触发信号,但是如果条件B在条件A先前已经触发信号之后保持等于1,则信号保持触发.仅在A和B都返回到0之后,信号才返回到0.

1.输入:

在此输入图像描述

2.期望的输出(signal_d)并确认for循环可以解决它(signal_l):

在此输入图像描述

3.我尝试使用numpy.where():

在此输入图像描述

4.可重复的代码片段:

    # Settings
    import numpy as np
    import pandas as pd
    import datetime

    # Data frame with input and desired output i column signal_d
    df = pd.DataFrame({'condition_A':list('00001100000110'),
                       'condition_B':list('01110011111000'),
                       'signal_d':list('00001111111110')})

    colnames = list(df)
    df[colnames] = df[colnames].apply(pd.to_numeric)
    datelist = pd.date_range(pd.datetime.today().strftime('%Y-%m-%d'), periods=14).tolist()
    df['dates'] = datelist
    df = df.set_index(['dates']) 

    # Solution using a for loop with nested ifs in column signal_l
    df['signal_l'] = df['condition_A'].copy(deep = True)
    i=0
    for observations in df['signal_l']:
        if df.ix[i,'condition_A'] …
Run Code Online (Sandbox Code Playgroud)

python numpy vectorization ipython pandas

7
推荐指数
1
解决办法
305
查看次数

标签 统计

ipython ×1

numpy ×1

pandas ×1

python ×1

vectorization ×1