【发布时间】:2021-09-23 05:11:03
【问题描述】:
我正在尝试定义一个 lambda 函数,该函数根据各种条件将 True 或 False 分配给一行。
有一列带有时间戳,我想要的是,如果 在过去 10 秒内(基于当前行 x 的时间戳)出现一些特定值数据集的其他列,当前行 x 获取 True 或 False 标签。
所以基本上我必须检查是否在前面的 n 行中,即Timestamp(x) - 10 秒 值 a 出现在列 A 和 值 b 出现在B 列。
我已经用 freq = 10 seconds 查看了 shift() 函数,另一次尝试看起来像这样:
data['Timestamp'][(data['Timestamp']-pd.Timedelta(seconds=10)):data['Timestamp']]
但我无法继续使用这两个选项中的任何一个。
是否可以在 lambda 函数中启动额外的选择?如果是,那会是什么样子?
P.S.:由于应用程序/代码的整体设置,不能使用常规 for 循环 代替 lambda 函数。
感谢您的帮助和意见!
【问题讨论】:
标签: python dataframe lambda conditional-statements