假设我有这个Dataframe。。。
var df = Seq(("Steve",1),("Steve",0),("Michael",3),("Michael",2),("Katherine",4),("Katherine",0),("Devin",0),("Devin",0)).toDF("name","score")
我想返回唯一的名称,其中它们的分数都不等于零。所以在这个例子中,唯一会被返回的名字是迈克尔,因为他的两个分数都在零以上。
非常感谢!
假设我有这个Dataframe。。。
var df = Seq(("Steve",1),("Steve",0),("Michael",3),("Michael",2),("Katherine",4),("Katherine",0),("Devin",0),("Devin",0)).toDF("name","score")
我想返回唯一的名称,其中它们的分数都不等于零。所以在这个例子中,唯一会被返回的名字是迈克尔,因为他的两个分数都在零以上。
非常感谢!
1条答案
按热度按时间fnvucqvd1#
如果要在多行上应用条件,则需要使用groupby或window函数
在您的例子中,您可以按列“name”分组,聚合每个名称的得分列表,然后过滤掉得分列表中包含0的所有记录。您的代码是: