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

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

【讨论】:

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

从当前行和上一行计算 2 列

当前行和上一行之间具有特定值的窗口函数

在每个当前行和上一行 BigQuery 之间查找 MAX、AVG

当前行和上一行之间的秒数差异,并使用 google bigquery 将值存储在单独的列中

当前行和上一行之间的秒数差异,并在订单 ID 也使用 google bigquery 匹配时将值存储在单独的列中

grep 文本文件中所有包含“xxx”的行和上一行