我想查看数据框内特定列中是否存在特定字符串。
我遇到了错误
ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或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') 将返回大小为布尔值的指标向量 len(BabyDataSet)
a['Names'].str.contains('Mel')
len(BabyDataSet)
因此,您可以使用
mel_count=a['Names'].str.contains('Mel').sum() if mel_count>0: print ("There are {m} Mels".format(m=mel_count))
或者any(),如果您不在乎有多少条记录与您的查询匹配
any()
if a['Names'].str.contains('Mel').any(): print ("Mel is there")