Как отфильтровать DataFrame чтобы остались значения больше медианного?

Есть таблица

    country                    country_size     contamination_territory
132 Russia                     17075400.0       63.49
71  Canada                     9984670.0        27.66
77  China                      9596960.0        81.24
152 United States of America   9372610.0        35.74

И есть недописаная функция, которая должна искать в колонке данные больше медианы и возвращать их (надеюсь правильно передал мысль).

def filter1(data, column, median):
    result = []
    for row in data:
        if len(row[column]) < median:
            result.append(row)
    return result

Как дописать ее чтобы работало? Оставте коментарии, почему имменно так.


Ответы (1 шт):

Автор решения: MaxU

Если таблица - это Pandas.DataFrame, то и решать вопрос нужно используя векторизированные методы Pandas:

res = df.loc[df["country_size"] > df["country_size"].median()]

результат:

In [10]: res
Out[10]:
    country  country_size  contamination_territory
132  Russia    17075400.0                    63.49
71   Canada     9984670.0                    27.66
→ Ссылка