Python 按比例筛选和删除行

Python 按比例筛选和删除行,python,dataframe,filter,Python,Dataframe,Filter,我有一个名为wine的数据框,其中包含一系列需要删除的行 如何删除列“country”中小于1%的所有行 以下是比例: #proportion of wine countries in the data set wine.country.value_counts() / len(wine.country) US 0.382384 France 0.153514 Italy

我有一个名为wine的数据框,其中包含一系列需要删除的行

如何删除列“country”中小于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
。。。 我很懒,没有包括所有的结果,但我想你明白我的意思了。我需要删除比例小于.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

您可以使用以下内容:

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
从该数据集中,它应该会提供如下信息:

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
算出

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

谢谢,杰普。我需要导入任何东西来使用吗。比例?你从来没有给出列的名称,所以我假设第二列是比例。啊,我明白了,我添加了其他列