gpt4 book ai didi

apache-spark - 如何删除数据帧 Scala/sSark 中的前几行?

转载 作者:行者123 更新时间:2023-12-04 05:23:25 24 4
gpt4 key购买 nike

我有一个 DataFrame,我想删除第一行和第二行。我该怎么办?

这是我的输入:

+-----+
|value|
+-----+
| 1|
| 4|
| 3|
| 5|
| 4|
| 18|
-------

这是异常(exception)的结果:
+-----+
|value|
+-----+
| 3|
| 5|
| 4|
| 18|
-------

最佳答案

在我看来,如果您无法定义数据框的排序,那么谈论第一条或第二条记录是没有意义的。作为 show 的结果的记录排序语句是“任意的”,取决于数据的分区。

假设您有一列可以对记录进行排序,您可以使用窗口函数。从此数据框开始:

+----+-----+
|year|value|
+----+-----+
|2007| 1|
|2008| 4|
|2009| 3|
|2010| 5|
|2011| 4|
|2012| 18|
+----+-----+

你可以做
import org.apache.spark.sql.expressions.Window

df
.withColumn("rn",row_number().over(Window.orderBy($"year")))
.where($"rn">2).drop($"rn")
.show

关于apache-spark - 如何删除数据帧 Scala/sSark 中的前几行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45316810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com