在Pandas DataFrame中分组并查找每组前10%的记录,可以使用groupby()
函数和apply()
函数来实现。
首先,使用groupby()
函数将DataFrame按照指定的列进行分组。假设我们要按照列A进行分组,代码如下:
grouped = df.groupby('A')
接下来,可以使用apply()
函数对每个分组进行操作。在这里,我们可以使用apply()
函数结合nlargest()
函数来查找每个分组中前10%的记录。nlargest()
函数可以按照指定的列进行降序排列,并返回指定数量的最大值。假设我们要按照列B进行排序,并返回前10%的记录,代码如下:
result = grouped.apply(lambda x: x.nlargest(int(len(x) * 0.1), 'B'))
在上述代码中,lambda x: x.nlargest(int(len(x) * 0.1), 'B')
表示对每个分组x,按照列B进行降序排列,并返回前10%的记录。
最后,result
将包含每个分组中前10%的记录。
关于Pandas DataFrame的分组和排序操作,可以参考腾讯云的产品介绍链接:Pandas DataFrame分组和排序。
领取专属 10元无门槛券
手把手带您无忧上云