基于当前行和上一行的用户定义函数

Posted

技术标签:

【中文标题】基于当前行和上一行的用户定义函数【英文标题】: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)

【问题讨论】:

【参考方案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

【讨论】:

以上是关于基于当前行和上一行的用户定义函数的主要内容,如果未能解决你的问题,请参考以下文章