J'ai une trame de données appelée wine qui contient un tas de lignes que je dois supprimer.

Comment supprimer toutes les lignes de la colonne «pays» qui représentent moins de 1% de l'ensemble?

Voici les proportions:

#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

... Je suis devenu paresseux et je n'ai pas inclus tous les résultats, mais je pense que vous avez compris ma dérive. Je dois supprimer toutes les lignes avec des proportions inférieures à 0,01

Voici la tête de mon dataframe:

country designation points  price   province    taster_name     variety     year    price_category
Portugal  Avidagos   87     15.0    Douro       Roger Voss  Portuguese Red  2011.0  low
-1
GuyGuyGuy 12 mars 2019 à 06:29

2 réponses

Meilleure réponse

Deviner

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
GuyGuyGuy 12 mars 2019 à 23:09

Vous pouvez utiliser quelque chose comme ceci:

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

À partir de cet ensemble de données, il devrait vous donner quelque chose comme ceci:

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
0
Jab 12 mars 2019 à 03:37