【发布时间】:2017-05-15 02:34:18
【问题描述】:
所以,我试图在 SQL 中完成此操作,但被告知在 Pandas 中会有一种简单的方法来完成此操作...感谢您的帮助/提示!
我目前在左侧的表格中有两列(开始子会话和结束子会话),我想添加左侧两列“会话开始”和“会话结束”。我知道如何简单地添加列,但是我无法弄清楚可以让我识别两个原始列中的连续值的查询(即结束子会话值与下一行开始子会话值相同)会话值),然后将第一个开始会话值和最后一个结束会话值(对于连续行)添加到我的新列中的相应行。请参考图片。例如,对于前三行,“结束子会话”值与下一行“开始子会话”值相同,因此前三个“会话开始”和“会话结束”将是相同,“开始子会话”值最小,“结束子会话”值最大。
我在 SQL 中尝试了一些类似的东西,显然没有用,我意识到聚合函数在这种情况下不起作用......
SELECT
FROM viewershipContinuous =
CASE
WHEN endSubsession.ROWID = beginSubession.ROWID+1
THEN MIN(beginSubsession)
ELSE beginSubsession.ROWID+1
END;
左边的表是我有的,右边的表是我想要实现的
【问题讨论】:
-
抱歉,谢谢你看到这个,我附上了一张与我想象的不同的图片。
标签: python sql pandas shift cumsum