熊猫数据框并应用-无法弄清楚为什么结果值是负数

时间:2018-12-21 23:38:38

标签: pandas azure-machine-learning-studio

这是我的数据图片,RUL感兴趣的列位于最右边,名字被切断(我使用的是NASA的Turbo Engine Degradation数据集),可在此处找到:https://data.nasa.gov/widgets/vrks-gjie

我正在Azure ML Studio中执行此操作,但是下面的代码段中,我有2个辅助函数get_engine_last_cycle(当我进行单元测试时,它似乎按预期方式执行-计算该引擎的最后一个周期,例如,引擎2具有一个失败时此数据集中的最大周期数287)。我称为get_engine_remainig_life的最后一个辅助函数,将引擎和循环作为参数,并返回最大循环-该引擎的当前循环(再次,我已经对该单元进行了单元测试,它似乎给了我预期的结果)。

由于某种原因,当我运行笔记本电脑时,这不起作用。我称为“ RUL”的列应返回一个递减的正整数序列,例如2号引擎的287、286、285 284等。但是,它给了我负面的价值。我似乎无法弄清楚为什么,但是知道这段代码很可能会导致问题

 df['RUL'] = df[['engine', 'cycle']].apply(lambda x: get_engine_remaining_life(*x), axis=1)

enter image description here

    def get_engine_last_cycle(engine):
        return int(df.loc[engine, ['cycle']].max())


    def get_engine_remaining_life(engine, cycle):
        return get_engine_last_cycle(engine) - int(cycle)

    df['RUL'] = df[['engine', 'cycle']].apply(lambda x: get_engine_remaining_life(*x), axis=1)

    return df

1 个答案:

答案 0 :(得分:1)

只是为了尝试,这就是我要实现的方式。也许会对您有所帮助。

Array