#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)