How to extract row with mixed value

  dataframe, pandas, python

I have to extract rows from a pandas dataframe with values in ‘Date of birth’ column which occur in a list with dates.

import pandas as pd

df = pd.DataFrame({'Name': ['Jack', 'Mary', 'David', 'Bruce', 'Nick', 'Mark', 'Carl', 'Sofie'],
                  'Date of birth': ['1973', '1999', '1995', '1992/1991', '2000', '1969', '1994', '1989/1990']})

dates = ['1973', '1992', '1969', '1989']

new_df = df.loc[df['Date of birth'].isin(dates)]

print(new_df)
0   Jack          1973
1   Mary          1999
2  David          1995
3  Bruce     1992/1991
4   Nick          2000
5   Mark          1969
6   Carl          1994
7  Sofie     1989/1990

Eventually I get the table below. As you can see, Bruce’s and Sofie’s rows are absent since the value is followed by / and another value. How should I split up these two filter them out?

   Name Date of birth
0  Jack          1973
5  Mark          1969

Source: Python Questions

LEAVE A COMMENT