我有一个很大的数据框,上面有这样的列:
TimeHrs A B SeqNum
我想弄清楚,如果按SeqNum分组的每个组的最大值A发生在最大值B的+/-2秒内。现在,我让一个groupby为每个组获取A和B的最大值行,如下所示:
idxmaxA = df.loc[df.groupby(['SeqNum'])['A'].idxmax()]
idxmaxB = df.loc[df.groupby(['SeqNum'])['B'].idxmax()]
这给了我两个数据帧,每个组的索引/行的最大值为A和B。如果a的最大值在我可以添加到原始数据帧的B的最大值的2秒内,我将如何比较结果来创建一列布尔值测试?在我的例子中,TimeHrs是1秒的数据,所以每行距离最后一行1秒。因此,我认为比较idxmaxA中每个组的索引值可能在idxmaxB的+/-2行之内,但我不知道如何轻松地做到这一点。你知道吗
有什么原因不能分两步完成吗?你知道吗
在下面的示例中,您将按组查找每个列的最大值,然后使用
pd.Series.between
执行比较。你知道吗相关问题 更多 >
编程相关推荐