如何删除Pandas数据集中at_word列含“pol”子串的对应行?
实现方案
以下是不同工具下的具体操作方法:
Python Pandas 实现
适合处理量级较大的数据集:
- 导入pandas库并读取你的数据集
import pandas as pd # 替换为你的实际数据集路径,支持csv、xlsx等格式 df = pd.read_csv("your_data_path.csv")
- 过滤掉
at_word列含pol子串的行
# ~ 代表逻辑取反,na=False表示空值默认判定为不包含pol # 如需忽略大小写匹配,增加参数 case=False df_filtered = df[~df['at_word'].str.contains('pol', na=False)]
- 导出筛选后的结果
df_filtered.to_csv("filtered_data.csv", index=False)
R 语言实现
# 方法1:dplyr + stringr 实现 library(dplyr) library(stringr) df <- read.csv("your_data_path.csv") # negate=TRUE 直接返回不匹配的行,无需取反 df_filtered <- df %>% filter(str_detect(at_word, "pol", negate = TRUE)) # 方法2:base R 实现 df_filtered <- df[!grepl("pol", df$at_word), ]
Excel/ WPS 表格实现
适合小量级数据集快速操作:
- 新增1列辅助列,输入公式
=ISNUMBER(SEARCH("pol", 对应at_word列单元格)),下拉填充整列,返回TRUE的就是包含pol子串的行 - 筛选辅助列值为
TRUE的所有行,直接删除即可 - 如需区分大小写匹配,把公式中的
SEARCH替换为FIND即可
内容的提问来源于stack exchange,提问作者curiouscat
相关产品推荐
相关产品推荐

