我有这样的数据框。如果满足某个条件,我想选择上面的行。例如,如果数字> 2,然后我想和约翰,理查德和保罗一起挑选行。即数字最多可导致三行的行。我也想挑选迈尔斯上面的5行。即迈尔斯,杰西卡,阿什顿,小时候,杰森。
name number
Adrian 1
Peter 2
John 1
Richard 2
Paul 3
Ashley 1
Winchester 0
Jason 1
Whiley 2
Ashton 3
Jessica 4
myers 5
输出可能如下所示
name number
John 1
Richard 2
Paul 3
Jason 1
Whiley 2
Ashton 3
Jessica 4
myers 5
答案 0 :(得分:4)
这种笨拙的作品:
def get_number(n):
position = df[df['number']==n].index[0]
find = range(position - (n-1), position + 1)
return df.loc[find]
print get_number(3)
答案 1 :(得分:1)