Фильтровать и удалять строки по пропорции Python - PullRequest
0 голосов
/ 12 марта 2019

У меня есть фрейм данных, который называется wine и содержит ряд строк, которые мне нужно отбросить.

Как убрать все строки в столбце "страна", которые составляют менее 1% от целого?

Вот пропорции:

#proportion of wine countries in the data set
wine.country.value_counts() / len(wine.country)

US                        0.382384
France                    0.153514
Italy                     0.100118
Spain                     0.070780
Portugal                  0.062186
Chile                     0.056742
Argentina                 0.042835
Austria                   0.034767
Germany                   0.028928
Australia                 0.021434
South Africa              0.010233
New Zealand               0.009069
Israel                    0.006133
Greece                    0.004493
Canada                    0.002526
Hungary                   0.001755
Romania                   0.001558

... Я стал ленивым и не включил все результаты, но я думаю, что вы поймете мой дрейф. Мне нужно отбросить все строки с пропорциями меньше 0,01

Вот заголовок моего фрейма данных:

country designation points  price   province    taster_name     variety     year    price_category
Portugal  Avidagos   87     15.0    Douro       Roger Voss  Portuguese Red  2011.0  low

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

разобрался

country_filter = wine.country.value_counts(normalize=True) > 0.01
country_index = country_filter[country_filter.values == True].index
wine = wine[wine.country.isin(list(country_index))]
0 голосов
/ 12 марта 2019

Вы можете использовать что-то вроде этого:

df = df[df.proportion >= .01]

Из этого набора данных он должен дать вам что-то вроде этого:

US                        0.382384
France                    0.153514
Italy                     0.100118
Spain                     0.070780
Portugal                  0.062186
Chile                     0.056742
Argentina                 0.042835
Austria                   0.034767
Germany                   0.028928
Australia                 0.021434
South Africa              0.010233
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...