【问题标题】:user defined function for based on the current row and the previous row基于当前行和上一行的用户定义函数
【发布时间】:2020-05-26 06:56:23
【问题描述】:

我正在使用 python 进行自动化任务。我想要一个“结果”列,如果“电池”列包含“放电”并且前一行包含“无”,则它应该包含“1”,否则它应该包含“0”

默认情况下第一行应包含 0。

excel公式为

=IF(AND(AD2="None",AD3="Discharge"),1,0)

【问题讨论】:

    标签: python pandas dataframe user-defined-functions


    【解决方案1】:

    IIUC你可以使用np.where()设置条件,然后强制第一行为0

    import numpy as np
    
    df['result'] = np.where(
        (df.Battery=='Discharge') & (df.Battery.shift()=='None'),
        1,
        0
    )
    
    df['result'].iloc[0] = 0
    

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 1970-01-01
      • 2011-08-07
      • 2020-03-07
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多