选择特定范围内的pandas数据框中的所有项目和范围外的1个项目

时间:2014-04-26 12:49:33

标签: filter pandas dataframe

让我们说,我有一个像下面的pandas数据框

    A     B     C
0  25.0  xyz   abc
1  60.0  aaa   bbb
2  30.0  xxx   yyy
3  40.0  zzz   nnn
4  45.0  aaa   bbb
5  35.0  ccc   ddd
对于这个问题,B和C并不重要。 现在我有一定范围33.0到43.0 我需要过滤数据帧,以便我需要33.0和43.0之间的所有行 而且两边都有1个元素。

意思是我想在这种情况下获得30.0和45.0的行。 所以在这种情况下我需要行 2,3,4,5

如何构建这样的过滤器。 可以说数据的间隔不像30 35等那样固定。它可以是任何东西。

1 个答案:

答案 0 :(得分:0)

或者在重置索引后只是在排序的DataFrame上切片......?

df.sort(['A'],inplace=True)
df.reset_index(inplace = True)
df[int(df[df.A == 33.0].index) - 1 :  int(df[df.A == 43.0].index) + 2]