小编Raf*_*ael的帖子

Apache Spark:无法将分组数据保存为 CSV

我想做一件简单的事情。我想将所有事件计数放入 2 分钟的时间戳中。

效果很好。

df = df.groupBy(window(df["time_value"], "2 minutes")).count()

df.show()

+--------------------+-----+
| window|count|
+--------------------+-----+
|[2018-04-10 15:00...| 770|
|[2018-04-10 00:42...| 100|
|[2018-04-10 04:14...| 54|
|[2018-04-06 15:54...| 36|
|[2018-04-10 04:46...| 304|
|[2018-04-10 20:36...| 347|
|[2018-04-10 03:26...| 41|
|[2018-04-10 21:10...| 85|
|[2018-04-10 11:44...| 426|
|[2018-04-10 12:32...| 754|
|[2018-04-10 00:28...| 61|
|[2018-04-10 05:36...| 478|
|[2018-04-06 07:04...| 18|
|[2018-04-10 22:14...| 195|
|[2018-04-10 23:40...| 175|
|[2018-04-10 00:20...| 229|
|[2018-04-10 03:10...| 209|
|[2018-04-10 01:28...| 67|
|[2018-04-09 18:52...| 9|
|[2018-04-10 19:06...| 3548|
+--------------------+-----+
only showing top 20 rows …
Run Code Online (Sandbox Code Playgroud)

python apache-spark apache-spark-sql pyspark

1
推荐指数
1
解决办法
3741
查看次数

熊猫时间序列:删除每个ID的行

我有以下形式的Pandas数据框:

Date       ID     Temp
2019/03/27 1       23
2019/04/27 2       32
2019/04/27 1       42
2019/04/28 1       41
2019/01/27 2       33
2019/08/27 2       23
Run Code Online (Sandbox Code Playgroud)

我需要做什么?

为每个ID选择距其最近的度量值至少30天的行。

即,最后的日期Id = 22019/08/27,所以ID =2我需要选择年纪大了至少30天的行。因此,2019/08/27ID为2 的行本身将被删除。

同样,ID = 1的最新日期是2019/04/28。这意味着ID =1仅当日期小于2019/03/28(早于30天)时,我才能选择行。因此,2019/04/27带有的ID=1行将被删除。

如何在熊猫中做到这一点。任何帮助是极大的赞赏。

谢谢。

最终数据帧将是:

Date       ID     Temp
2019/03/27 1       23
2019/04/27 2       32
2019/01/27 2       33
Run Code Online (Sandbox Code Playgroud)

python time-series dataframe pandas pandas-groupby

0
推荐指数
1
解决办法
30
查看次数