一、精确匹配DataFrame中的数据
示例. 检查完整字符串是否等于关键词
import pandas as pd
df = pd.DataFrame({"keywords": ["脉冲强磁场物理", "脉冲强磁场技术", "脉冲强磁场应用","磁性材料", "多铁材料", "磁卡效应"]
})
exists_technology = (df['keywords'] == '脉冲强磁场技术').any()
exists_partial = (df['keywords'] == '多铁材').any()print("是否存在'脉冲强磁场技术':", exists_technology)
print("是否存在'多铁材':", exists_partial)
二、部分匹配DataFrame中的数据
示例. 检查关键词是否作为部分内容出现在单元格中
import pandas as pd
df = pd.DataFrame({"keywords": ["脉冲强磁场物理", "脉冲强磁场技术", "脉冲强磁场应用","磁性材料", "多铁材料", "磁卡效应"]
})
exists_technology_sub = df['keywords'].str.contains('脉冲强磁场技术', regex=False).any()
exists_partial_sub = df['keywords'].str.contains('多铁材', regex=False).any()print("是否包含'脉冲强磁场技术':", exists_technology_sub)
print("是否包含'多铁材':", exists_partial_sub)
三、还可以将df堆叠成Series检查
import pandas as pd
df = pd.DataFrame({"keywords": ["脉冲强磁场物理", "脉冲强磁场技术", "脉冲强磁场应用","磁性材料", "多铁材料", "磁卡效应"]
})
df_str = df.fillna('').astype(str)
combined = df_str.stack()
exists = combined.str.contains("脉冲强磁", regex=False).any()
print(exists)
exists = combined.str.contains("脉冲强磁场技术", regex=False).any()
print(exists)
exists = (combined == "脉冲强磁场技术").any().any()
print(exists)
exists = (combined == "脉冲强磁场技术2").any().any()
print(exists)