我有一个数据框如下:
id time type day
___ _____ _____ ____
1 2016-10-12 01:45:01 1 3
1 2016-10-12 01:48:01 0 3
1 2016-10-12 01:50:01 1 3
1 2016-10-12 01:52:01 1 3
2 2016-10-12 01:53:01 1 3
2 2016-10-12 02:10:01 1 3
3 2016-10-12 01:45:01 1 3
3 2016-10-12 01:48:01 1 3
从这个数据框中我想计算每行半小时前该id中类型1的出现次数。 例如,如果我们采取第一行
1 2016-10-12 01:45:01 1 3
由此我想计算该id中从2016-10-12 01:45:01
到2016-10-12 01:15:01
的类型1出现,因为它是第一条记录,所以最终为0。
id time type day count_of_type1
___ _____ _____ ____ ______________
1 2016-10-12 01:45:01 1 3 0
如果我们采取第三行
1 2016-10-12 01:50:01 1 3
由此我想计算该id中最终为2的2016-10-12 01:50:01
到2016-10-12 01:20:01
的类型1出现。
id time type day count_of_type1
___ _____ _____ ____ ______________
1 2016-10-12 01:50:01 1 3 2
我读了下面的数据框,也知道如何计数,但我不确定如何为每一行单独追加列:
val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load("hdfs:///user/rkr/datafile.csv")
感谢任何帮助。
答案 0 :(得分:0)
您可以使用自联接来获取具有基于时间戳的条件的行。
<izpack:installation version="5.0"
xmlns:izpack="http://izpack.org/schema/installation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://izpack.org/schema/installation http://izpack.org/schema/5.0/izpack-installation-5.0.xsd">
<izpack:installation>