I'm trying to drop rows in a pandas dataframe on an exact match. My code nearly works, but it currently drops rows which match partially (which I don't want).
The code below will drop the name 'Krish' from the dataframe because it partially matches to 'kris'.
import pandas as pd
# list of strings to drop in an exact match
drop_list = ["nick", "kris"]
# initialize data of lists.
data = {'Name': ['Tom', 'nick', 'krish', 'jack'],
        'Age': [20, 21, 19, 18]}
# Create DataFrame
df = pd.DataFrame(data)
df = df[~df['Name'].str.contains("|".join(drop_list))]
# print dataframe.
print(df)
Current Output:
   Name  Age
0   Tom   20
3  jack   18
Desired Output:
    Name  Age
0    Tom   20
2  krish   19
3   jack   18
