Pandas / Python фильтрует DF для значения столбца

#python #python-3.x #pandas #group-by #quantile

#python #python-3.x #pandas #группировать по #квантиль

Вопрос:

Я искал способ фильтровать df по значению в столбце в groupby , а также в другом экземпляре при вызове этого столбца df.

Например:

Итак, чтобы отобразить этот dfs column_betas, как показано ниже, но только тогда, когда другой столбец (называемый column_value) имеет значение, подобное 2?

 df['column_betas'] # ( when a different column called `column_value` is 2)
  

и для приведенных ниже случаев, когда я запускаю group by для столбца city, но только когда column_value столбец = 2?

 df.groupby(['City']).quantile(.5)
  

Я пытаюсь избежать создания дополнительных dfs, которые фильтруют определенное значение для column_value и вместо этого пытаюсь вызвать это значение при простом вызове этого df для этого конкретного значения столбца или в groupby .

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

1. каков ваш желаемый результат

2. Вывод должен быть сгруппирован по квантилям, но только тогда, когда значение столбца df отфильтровано по определенному значению, а значения df — по столбцу df[‘column_betas] df, но когда другой столбец в этом df отфильтрован по определенному значению

3. Вы пробовали df=df[df['column_betas']==2] ?

Ответ №1:

Эта команда возвращает значение df['column_betas"] , где значение столбца равно 2:

 df[df["value"]==2]["column_betas"]
  

и эта команда выполняет группировку только по строкам, имеющим значение 2 в столбце value

 df[df["value"]==2].groupby(["City"])
  

Ответ №2:

Замените df на

 df[df['column_value']==2]
  

Таким образом df['column_betas'] становится df[df['column_value']==2]['column_betas']

и df.groupby(['City']).quantile(.5) становится df[df['column_value']==2].groupby(['City']).quantile(.5)