Dataframe 列出数据帧中满足条件的前n行

Dataframe 列出数据帧中满足条件的前n行,dataframe,Dataframe,假设我们有一个包含多列的数据框架。然后使用sort_值对特定列集进行排序 df.sort_values(by=['Col1','Col2'],ascending={False,True},inplace=True) 现在,我想筛选所有符合某个标准的行,但只列出满足该标准的前n行。这对于我的应用程序是有意义的,因为我已经完成了上面的排序 我该怎么做 编辑:我之前没有说清楚:n不是提前知道的。事实上,我想列出这个列表,并找到满足条件的n。在从特定排序的行中选择第一行之前,考虑资源和性能,或者可以对

假设我们有一个包含多列的数据框架。然后使用sort_值对特定列集进行排序

df.sort_values(by=['Col1','Col2'],ascending={False,True},inplace=True)
现在,我想筛选所有符合某个标准的行,但只列出满足该标准的前n行。这对于我的应用程序是有意义的,因为我已经完成了上面的排序

我该怎么做


编辑:我之前没有说清楚:n不是提前知道的。事实上,我想列出这个列表,并找到满足条件的n。

在从特定排序的行中选择第一行之前,考虑资源和性能,或者可以对其进行筛选

df.where(<condition>).orderBy(desc("Col1"), "Col2").first()
df.where().orderBy(desc(“Col1”),“Col2”).first()

谢谢。这是一种新的应用条件的形式,我以前从未见过。然而,这里的问题是n是未知的。我想列出满足条件的前n行,并在过程中找到n行。数据已排序,因此该问题的答案是唯一的。您可以尝试使用head(n)或limit(n)函数,否则您还可以操作从window.partition函数生成的行号或包含唯一行号的其他自定义行列。我偶然发现了nlargest:,它非常接近我的需要。