Фильтр на основе минимального и максимального

#python #pandas #numpy

Вопрос:

У меня есть фрейм данных следующим образом

 Calls   Weight 
  R       1
  A       1 
  S       3 
  S       3
  Q       7
  W       5
  E       9 
 

Если у меня есть минимум 3 и максимум 5.

Я пытаюсь отфильтровать данные так, чтобы все значения ниже 3 были отфильтрованы. В то время как все значения, превышающие 5, изменяются на максимальное значение (которое равно 5)

Ожидаемый результат:

      Calls   Weight 
      S       3 
      S       3
      Q       5
      W       5
      E       5 
 

Ответ №1:

Трансформация проста:

 df = df[df.Weight >= 3]
df[df.Weight >= 5] = 5