我有这个Dataframe:
DataFrame[visitors: int, beach: string, Date: date]
具有以下数据:
+-----------+-------------+--------+
|date |beach |visitors|
+-----------+------------+---------+
|2020-03-02 |Bondi Beach |205 |
|2020-03-02 |Nissi Beach |218 |
|2020-03-03 |Bar Beach |201 |
|2020-03-04 |Navagio |102 |
|2020-03-04 |Champangne |233 |
|2020-03-05 |Lighthouse |500 |
|2020-03-06 |Mazo |318 |
+-----------+------------+---------+
我想用访问者列中的数据找出这些列的增量。预期产量:
+-----------+-------------+--------+-------+
|date |beach |visitors| Delta |
+-----------+------------+---------+-------+
|2020-03-02 |Bondi Beach |205 |-13 | (205-218)
|2020-03-02 |Nissi Beach |218 |17 | (218-201)
|2020-03-03 |Bar Beach |201 |99 | (201-102)
|2020-03-04 |Navagio |102 |-131 | (102-233)
|2020-03-04 |Champangne |233 |-267 | (233-500)
|2020-03-05 |Lighthouse |500 |182 | (500-318)
|2020-03-06 |Mazo |318 |318 | (318-0)
+-----------+------------+---------+-------+
1条答案
按热度按时间mrfwxfqh1#
你可以用
lead
解决你的问题。自从lead
最后一行是null
,我正在使用coalesce
要替换的函数nulls
和访客专栏。注意:我只是按订单来的
date
现场。最好在ORDERBY子句中包含像id这样的另一列,以便保持顺序。另外,使用没有分区的窗口可能会影响性能。