当前位置: 首页 > news >正文

判断字符串是否存在于 Pandas DataFrame

一、精确匹配DataFrame中的数据

示例. 检查完整字符串是否等于关键词

import pandas as pd

# 正确构造DataFrame(每个关键词作为一行)
df = pd.DataFrame({
    "keywords": [
        "脉冲强磁场物理", "脉冲强磁场技术", "脉冲强磁场应用",
        "磁性材料", "多铁材料", "磁卡效应"
    ]
})

# 检查精确匹配
exists_technology = (df['keywords'] == '脉冲强磁场技术').any()
exists_partial = (df['keywords'] == '多铁材').any()

print("是否存在'脉冲强磁场技术':", exists_technology)  # 输出: True
print("是否存在'多铁材':", exists_partial)          # 输出: False

二、部分匹配DataFrame中的数据

示例. 检查关键词是否作为部分内容出现在单元格中

import pandas as pd

# 正确构造DataFrame(每个关键词作为一行)
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)  # 输出: True
print("是否包含'多铁材':", exists_partial_sub)          # 输出: False

三、还可以将df堆叠成Series检查

import pandas as pd

# 正确构造DataFrame(每个关键词作为一行)
df = pd.DataFrame({
    "keywords": [
        "脉冲强磁场物理", "脉冲强磁场技术", "脉冲强磁场应用",
        "磁性材料", "多铁材料", "磁卡效应"
    ]
})

# 处理空值并转为字符串,避免NaN干扰
df_str = df.fillna('').astype(str)
# 将DataFrame所有值堆叠成一个Series
combined = df_str.stack()

# 使用regex=False避免特殊字符被解析
exists = combined.str.contains("脉冲强磁", regex=False).any()
print(exists)  # 输出: False
exists = combined.str.contains("脉冲强磁场技术", regex=False).any()
print(exists)  # 输出: True
exists = (combined == "脉冲强磁场技术").any().any()
print(exists)  # 输出: True
exists = (combined == "脉冲强磁场技术2").any().any()
print(exists)  # 输出: True
http://www.dtcms.com/a/94671.html

相关文章:

  • Pytorch学习笔记(十)Learning PyTorch - Learning PyTorch with Examples
  • WifiManager 的扫描限制省电功能介绍
  • 香蕉派 BPI-CM6 工业级核心板采用进迭时空K1 8核 RISC-V 芯片开发
  • Pytorch学习笔记(十一)Learning PyTorch - What is torch.nn really
  • 【计网】计算机网络的分层结构(上)
  • [计算机网络]网络I/O模型
  • 【sql优化】where 1=1
  • 游戏引擎学习第187天
  • nginx配置跳转设置Host有误导致报404问题
  • 洛克人2游戏秘籍
  • 一种监控录像视频恢复的高效解决方案,从每一帧中寻找可能性
  • 小样本学习综述2025
  • Vulnhub:Digitalword.local: FALL靶机渗透
  • 海拔案例分享-新华书店新零售系统开发解决方案
  • 自然语言处理,能否成为人工智能与人类语言完美交互的答案?
  • HTML~视频音频在网页中不能自动播放
  • 项目-苍穹外卖(十五) Apache ECharts+数据统计
  • 腾讯混元 T1 正式发布:混合架构重塑推理模型范式,解码速度提升 2 倍
  • java项目之基于ssm的新生报到系统(源码+文档)
  • 向内求解人生
  • Socket函数用法详解
  • 人工智能技术全景图谱:从基础理论到前沿应用
  • Java-servlet(八)详细讲解get请求和post请求的区别,get请求和post请求分别在哪种场景使用
  • 数据结构——单链表(C语言)
  • 《Operating System Concepts》阅读笔记:p489-p489
  • 编译原理——自底向上语法优先分析
  • linux中如何获取其他进程的退出状态
  • 交通数据集
  • leetcode日常刷题
  • 如何对AI玩家进行改进