在满足Pandas条件的行上方选择行

2024-05-12 19:32:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个数据帧。如果满足某个条件,我想选择上面的行。例如,如果这里的数字>2,那么我想选择与约翰、理查德和保罗一起的行。i、 带数字的行至三行。我还想选迈尔斯上面的5行。i、 梅尔斯,杰西卡,阿什顿,惠利,杰森。在

   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

输出可能是这样的

^{pr2}$

Tags: 数据namerichardnumber数字条件johnpeter
2条回答

这很尴尬:

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)
def Select_no(n):
    position = df[df['number']==n].index[0]
    find = range(position - (n-1), position + 1)
    return df.loc[find]

df1 = Select_no(3)
df2 = df[7:]
df1 = df1.append(df2)

如果希望索引从0开始,也可以执行df1.reset_index(inplace=True)enter image description here

相关问题 更多 >