如何在pyspark中将缺失的日期添加为新行,并将那些缺失的日期计数为零?

时间:2019-05-31 20:02:51

标签: python pandas pyspark pyspark-sql databricks

我已经开始练习python。我正在尝试清除数据。我的pyspark数据框包含计数和日期。我想将缺失的日期添加为新行,并将那些缺失的日期计数为零。

我尝试使用这种技术Filling gaps in timeseries Spark

在此技术中,它使用时间戳记,并将它们转换为长数据类型,从而在几分钟内填补了空白。我只是没有约会的日期。

下面是我尝试从数据帧中获取最小值和最大值的代码。

现在,我正在努力创建仅缺少日期的日期范围,并将其放入新的数据框。然后将新的数据框与原始数据框合并。


from pyspark.sql.functions import col, min as min_, max as max_


minp, maxp = existing_rules_search.select(
    min_("rule_date_cst").cast("date"), max_("rule_date_cst").cast("date")
).first()

这是我在数据框中的内容:

 
Col1    Col2    Col3       Count     rule_date_cst
12121   Apple   Apple Pie   1          3/28/2019
12121   Apple   Apple Pie   1          3/29/2019
12121   Apple   Apple Pie   1          4/4/2019
 

以下是我期望显示的结果。

 
Col1    Col2    Col3    Count   rule_date_cst
12121   Apple   Apple Pie   1   3/28/2019
12121   Apple   Apple Pie   1   3/29/2019
12121   Apple   Apple Pie   0   3/30/2019
12121   Apple   Apple Pie   0   3/31/2019
12121   Apple   Apple Pie   0   4/1/2019
12121   Apple   Apple Pie   0   4/2/2019
12121   Apple   Apple Pie   0   4/3/2019
12121   Apple   Apple Pie   1   4/4/2019

 

下面是截图,显示了日期范围的输出。 This is what I have tried to get as ranges

0 个答案:

没有答案