Skip to content Skip to sidebar Skip to footer

Comparing Two Dataframe Columns To Check If They Have Same Value In Python

I have two dataframes, new1. Name city 0 sri won chn 1 pechi won pune 2 Ram won mum 0 pec won kerala new3 req 0 pec 1 mut I tried,

Solution 1:

You need \b that means "word boundary":

a = r'\b(' + "|".join(new3.req.values.tolist()) + r')\b'print (a)
\b(pec|mut)\b

mask=new1.Name.str.contains(a)
df = new1[mask]
print (df)
      Name    city
0  pec won  kerala

Solution 2:

You need space in separator

In [1350]: new1
Out[1350]:
        Name    city
0    sri won     chn
1  pechi won    pune
2    Ram won     mum
0    pec won  kerala

In [1351]: new3
Out[1351]:
   req
0  pec
1  mut

In [1352]: ' | '.join(new3.req)
Out[1352]: 'pec | mut'In [1353]: new1.Name.str.contains(' | '.join(new3.req))
Out[1353]:
0False1False2False0True
Name: Name, dtype: bool

In [1354]: new1[new1.Name.str.contains(' | '.join(new3.req))]
Out[1354]:
      Name    city
0  pec won  kerala

Post a Comment for "Comparing Two Dataframe Columns To Check If They Have Same Value In Python"