Как выбрать строки, содержащие наименьшее значение выше k?

#python #python-3.x #pandas

#python #python-3.x #панды

Вопрос:

Допустим, у меня есть следующий фрейм данных Pandas :

   |----- ----- ------ -----|
  |     | ... |    I | ... |
  |----- ----- ------ -----|
  |   0 | ... |   20 | ... |
  |   1 | ... |   20 | ... |
  |   2 | ... |   50 | ... |
  |   3 | ... |   50 | ... |
  |   4 | ... |  100 | ... |
  |   5 | ... |  100 | ... |
  |   6 | ... |  250 | ... |
  |   7 | ... |  250 | ... |
  |   8 | ... |  500 | ... |
  |   9 | ... |  500 | ... |
  |  10 | ... | 1000 | ... |
  |  11 | ... | 1000 | ... |
  | ... | ... |  ... | ... |
  |----- ----- ------ -----|
 

Я хотел бы получить строки, значение которых равно первому значению выше, чем k в столбце I .

Для k=347 этого было бы :

   |----- ----- ------ -----|
  |     | ... |    I | ... |
  |----- ----- ------ -----|
  |   8 | ... |  500 | ... |
  |   9 | ... |  500 | ... |
  |----- ----- ------ -----|
 

Комментарии:

1. df.loc[df['I']>=k]

2. df[df['I"] ==df.loc[df['I']>k,'I'].min()]

3. Спасибо @QuangHoang, это работает хорошо. df[df['I'] должно быть написано вместо df[df['I"]