Pandas: Select all rows which not appears in a list
18. Exclusion Filtering
Write a Pandas program to filter those records which not appears in a given list from world alcohol consumption dataset.
Test Data:
Year WHO region Country Beverage Types Display Value 0 1986 Western Pacific Viet Nam Wine 0.00 1 1986 Americas Uruguay Other 0.50 2 1985 Africa Cte d'Ivoire Wine 1.62 3 1986 Americas Colombia Beer 4.27 4 1987 Americas Saint Kitts and Nevis Beer 1.98
Sample Solution:
Python Code :
import pandas as pd
# World alcohol consumption data
new_w_a_con = pd.read_csv('world_alcohol.csv')
print("World alcohol consumption sample data:")
print(new_w_a_con.head())
print("\nSelect all rows which not appears in a given list:")
who_region = ["Africa", "Eastern Mediterranean", "Europe"]
flt_wine = ~new_w_a_con["WHO region"].isin(who_region)
print(new_w_a_con[flt_wine])
Sample Output:
World alcohol consumption sample data:
   Year       WHO region      ...      Beverage Types Display Value
0  1986  Western Pacific      ...                Wine          0.00
1  1986         Americas      ...               Other          0.50
2  1985           Africa      ...                Wine          1.62
3  1986         Americas      ...                Beer          4.27
4  1987         Americas      ...                Beer          1.98
[5 rows x 5 columns]
Select all rows which not appears in a given list:
    Year       WHO region      ...      Beverage Types Display Value
0   1986  Western Pacific      ...                Wine          0.00
1   1986         Americas      ...               Other          0.50
3   1986         Americas      ...                Beer          4.27
4   1987         Americas      ...                Beer          1.98
5   1987         Americas      ...               Other          0.00
8   1986         Americas      ...             Spirits          1.55
11  1989         Americas      ...                Beer          0.62
12  1985  Western Pacific      ...                Beer          0.00
14  1985  Western Pacific      ...             Spirits          0.05
16  1984         Americas      ...                Wine          0.06
20  1986  South-East Asia      ...                Wine          0.00
21  1989         Americas      ...             Spirits          4.51
28  1987  Western Pacific      ...                Beer          0.11
31  1986  Western Pacific      ...                Wine          0.00
35  1985         Americas      ...             Spirits          2.24
43  1984  Western Pacific      ...                Wine          0.03
46  1987         Americas      ...             Spirits          2.26
47  1986         Americas      ...               Other          0.04
48  1987         Americas      ...                Beer          0.70
54  1984         Americas      ...             Spirits          1.81
55  1989         Americas      ...                Wine          0.04
56  1987  Western Pacific      ...                Wine          0.00
61  1984  Western Pacific      ...             Spirits          0.08
62  1987         Americas      ...               Other          0.00
64  1989         Americas      ...                Beer          1.26
74  1986         Americas      ...             Spirits          2.06
78  1989         Americas      ...               Other          0.00
84  1986  South-East Asia      ...               Other          0.00
86  1986         Americas      ...                Wine          1.83
97  1984  South-East Asia      ...                Wine          0.00
99  1985  South-East Asia      ...                Wine          0.00
[31 rows x 5 columns]
Click to download world_alcohol.csv
For more Practice: Solve these Related Problems:
- Write a Pandas program to filter out records where the 'Country' column is present in a specified exclusion list.
 - Write a Pandas program to remove rows with 'WHO region' matching a given list of values using boolean indexing.
 - Write a Pandas program to exclude records with certain values in the 'Beverage Types' column and then verify the remaining rows.
 - Write a Pandas program to filter the dataset to only include rows where the 'Country' does not appear in a predefined list.
 
Go to:
PREV : Filtering by Multiple WHO Regions.
NEXT :
 Consumption Range Filtering.
Python Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
