python - tutorial - Compruebe si la cadena está en un marco de datos pandas
pandas python tutorial español pdf (2)
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
Me gustaría ver si existe una cadena en particular en una columna en particular dentro de mi marco de datos.
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")