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

python,Dataframe基于所有包含某个关键字的列等于某个值过滤

在 Python 中,使用 Pandas 的 DataFrame 丢弃符合特定条件的行,条件为所有包含某个关键字的列中,等于某个值(即所有包含某个关键字的列中等于某个值的行),可用以下方法实现:

import pandas as pd# example
data = {'product_A': ['apple', 'banana', 'orange', 'apple'],'product_B': ['pear', 'apple', 'apple', 'grape'],'other_col': [1, 2, 3, 4]
}
df = pd.DataFrame(data)# 丢弃所有列名包含 "product" 且值等于 "apple" 的行
keyword = 'product'  # 列名包含的关键字
value2drop = 'apple'  # 要丢弃的值# 步骤:
# 1. 筛选出列名包含 keyword 的列
cols = df.filter(like=keyword).columns# 2. 检查这些列是否全部等于 value2drop
mask = (df[cols] == value2drop).all(axis=1)# 3. 丢弃满足条件的行
df_filtered = df[~mask]  # 取反操作保留不满足条件的行print("原始数据:\n", df)
print("\n过滤后数据:\n", df_filtered)

也可以使用 str.contains 筛选列名 + loc 条件过滤:

# 筛选列名包含 keyword 的列
cols = [col for col in df.columns if keyword in col]# 丢弃所有选定列等于 value_to_drop 的行
df_filtered = df[~df[cols].eq(value_to_drop).all(axis=1)]

直接使用 drop() 删除行也可以:

# 获取要删除的行索引
drop_index = df[df[cols].eq(value_to_drop).all(axis=1)].index# 按索引删除行
df_filtered = df.drop(drop_index)

如果有用麻烦点个赞

http://www.xdnf.cn/news/10581.html

相关文章:

  • PostgreSQL的扩展 insert_username
  • 高等数学笔记 第八章——向量代数与空间解析几何2
  • Mysql备份
  • 助力活力生活的饮食营养指南
  • Python----目标检测(训练YOLOV8网络)
  • 【Java Web】6.登入认证
  • 使用 MCP 将代理连接到 Elasticsearch 并对索引进行查询
  • 电脑为什么换个ip就上不了网了
  • Java Netty 中处理粘包和半包问题的解决方案 | TCP消息完整性校验(XOR )
  • JavaScript性能优化:实战技巧提升10倍速度
  • 【性能调优系列】深入解析火焰图:从基础阅读到性能优化实战
  • 【python深度学习】Day43 复习日
  • MG影视登录解锁永久VIP会员 v8.0 支持手机电视TV版影视直播软件
  • 抛砖引玉:RadarDet4D,NuScenes数据集Radar模态目标检测第二名(即将开源)
  • 【Elasticsearch】Elasticsearch 核心技术(一):索引
  • Attention注意力机制
  • 【git-首次初始化本地项目、关联远程仓库】
  • 飞牛fnNAS存储空间模式详解
  • 缓存击穿、缓存雪崩、缓存穿透以及数据库缓存双写不一致问题
  • Transformer相关
  • 辅助角公式
  • 财管-0-战略和战略管理
  • Spring Boot + MyBatis 实现的简单用户管理项目的完整目录结构示例
  • AI 医疗影像诊断:技术实现、临床应用与未来趋势 —— 以肺部 CT 早期肺癌检测为例
  • 文言文停词库 | 古文停词库 | 624个简体停词 |文言文python分词库-thulac
  • Baklib知识中台加速企业服务智能化实践
  • 达梦分布式集群DPC_分布式事务理解_yxy
  • 机器学习算法-k-means
  • LeetCode 40.组合总和II:含重复元素的组合问题去重策略详解
  • 生物化学笔记:神经生物学概论【脑客中国·科研】第186位讲者 | 何超:大脑的觉醒与睡眠