Compruebe si la cadena está en un dataframe de pandas

Me gustaría ver si una cadena en particular existe en una columna en particular dentro de mi dataframe.

Estoy recibiendo el error

ValueError: El valor de verdad de una serie es ambiguo. Utilice a.empty, a.bool (), a.item (), a.any () o a.all ().

import pandas as pd BabyDataSet = [('Bob', 968), ('Jessica', 155), ('Mary', 77), ('John', 578), ('Mel', 973)] a = pd.DataFrame(data=BabyDataSet, columns=['Names', 'Births']) if a['Names'].str.contains('Mel'): print "Mel is there" 

a['Names'].str.contains('Mel') devolverá un vector indicador de valores booleanos de tamaño len(BabyDataSet)

Por lo tanto, puede utilizar

 mel_count=a['Names'].str.contains('Mel').sum() if mel_count>0: print ("There are {m} Mels".format(m=mel_count)) 

O any() , si no le importa cuántos registros coinciden con su consulta

 if a['Names'].str.contains('Mel').any(): print ("Mel is there") 

Debes usar any()

 In [98]: a['Names'].str.contains('Mel').any() Out[98]: True In [99]: if a['Names'].str.contains('Mel').any(): ....: print "Mel is there" ....: Mel is there 

a['Names'].str.contains('Mel') le da una serie de valores bool

 In [100]: a['Names'].str.contains('Mel') Out[100]: 0 False 1 False 2 False 3 False 4 True Name: Names, dtype: bool