Python中带值校正的内部排序&;熊猫

Python中带值校正的内部排序&;熊猫,python,pandas,Python,Pandas,我有以下建议: DF按车辆ID FW排序,其次按事务日期FW排序(升序=假) 任务: 我需要里程表的正确数值。(有几英里的车辆)。对于单辆车\u ID\u FW我需要检查: 如果里程表中的某些值大于当月的最后一次里程数如果为True–>将此值转换为0 如果单个车辆(ID)的里程表(FW)自上个月起的最后里程数(始终是单个车辆(ID)的里程表(FW)的最高记录)–10000–>如果为真–>将该值转换为0 当前DF(红色错误): 示例输出: 我自己真的尝试过这样做,我用python编写了一段代码

我有以下建议:

DF按车辆ID FW排序,其次按事务日期FW排序(升序=假)

任务:

我需要里程表的正确数值。(有几英里的车辆)。对于单辆车\u ID\u FW我需要检查:

  • 如果里程表中的某些值大于当月的最后一次里程数如果为True–>将此值转换为0

  • 如果单个车辆(ID)的里程表(FW)自上个月起的最后里程数(始终是单个车辆(ID)的里程表(FW)的最高记录)–10000–>如果为真–>将该值转换为0

  • 当前DF(红色错误):

    示例输出:

    我自己真的尝试过这样做,我用python编写了一段代码,并将所有内容转换为多列表/矩阵。接下来,我编写了许多difrent函数来修正它。它可以工作,但它是一种代码行的音调,我认为它是意大利面条代码。我真的怀疑我所做的是解决这个问题的最好方法,尤其是在熊猫身上制作的可能性?

    数据: 当前DF:

    VEHICLE_ID_FW   ODOMETER_FW TRANSACTION_DATE_FW
    DC19YTZ         11833       2020-02-08
    DC19YTZ         0           2020-02-05
    DC19YUA         14878       2020-02-06
    DC19YUA         144754      2020-02-04
    DC19YUB         10952       2020-02-07
    DC19YUB         1007        2020-02-05
    DC19YUB         10502       2020-02-03
    DC19YUE         11792       2020-02-08
    DC19YUE         11697       2020-02-05
    DC19YUF         9080        2020-02-08
    DC19YUF         8878        2020-02-06
    DC19YUF         0           2020-02-03
    DC19YUG         14578       2020-02-07
    DC19YUG         14351       2020-02-05
    
    输出:

    VEHICLE_ID_FW   ODOMETER_FW TRANSACTION_DATE_FW
    DC19YTZ         11833       2020-02-08
    DC19YTZ         0           2020-02-05
    DC19YUA         14878       2020-02-06
    DC19YUA         0           2020-02-04
    DC19YUB         10952       2020-02-07
    DC19YUB         0           2020-02-05
    DC19YUB         10502       2020-02-03
    DC19YUE         11792       2020-02-08
    DC19YUE         11697       2020-02-05
    DC19YUF         9080        2020-02-08
    DC19YUF         8878        2020-02-06
    DC19YUF         0           2020-02-03
    DC19YUG         14578       2020-02-07
    DC19YUG         14351       2020-02-05
    

    请发布数据,而不是图片。请尝试
    np.where
    。?np.where?你能提炼出你的想法吗?