标签: python pandas
This anwser说我可以使用df.groupby('id')['value'].nlargest(30)为每个组获取前30行。 但是如何让每个组的行从top2到top31?是否有一个函数可以执行类似pandas.Series.nlargest
df.groupby('id')['value'].nlargest(30)
pandas.Series.nlargest
答案 0 :(得分:3)
尝试使用apply和.iloc,例如您想要1:30
apply
.iloc
df.sort_values('value').groupby('id').value.apply(lambda x : x.iloc[1:30])