Susan Susan - 1 year ago 76
Python Question

How to check whether the content of Column A is contained in Column B using Python DataFrame?

I have two columns in a pandas DataFrame:

. I want to create a third column: a cell's value is
if the corresponding row's
is contained in the corresponding row's
, and

So the result will look like the picture below.

enter image description here

I have tried
, and etc.
But Python returns an error: 'Series' objects are mutable, thus they cannot be hashed.
Does anyone know how to create the third column in Python?

Answer Source

IIUC then you can apply a lambda row-wise to check if the Name string is present in Authors:

df['Check'] = df.apply(lambda row: row['Name'] in row['Authors'], axis=1)

should work

You can't use str.contains(), str.extract(), str.find(), or where()here because you're trying to compare row-wise and those methods expect a fixed list or pattern for the searching criteria.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download