Python:如果字符串出现在列中,则删除行

Posted

技术标签:

【中文标题】Python:如果字符串出现在列中,则删除行【英文标题】:Python: Remove line if string appears in column 【发布时间】:2022-01-20 06:33:51 【问题描述】:

我正在使用

加载一个 Excel 电子表格(n 行 x 33 列)
inputfile = pd.read_excel()

并且想要应用过滤器。 我的目标是有一个字符串列表,如下所示

Filter = ["Material_1", "Material_2"]

并保留inputfile 中的行,该行在inputfile 的第 13 列中包含 Material_1 或 Material_2(以后可能会有更多选项)。

非常感谢。

【问题讨论】:

所以您只想保留输入文件的第 13 列中它们具有 'Material_1' 或 'Material_2' 的行?第 13 列的实际名称是什么? 是的,完全正确。该列的名称是材料。我使用了 Sam 的代码,没有波浪号。完美运行。 【参考方案1】:

您可以对数据框进行子集化并使用如下:

Filter = ["Material_1", "Material_2"]
df = df[df["<column_name>"].isin(Filter)]

这将为您提供该特定列在您的过滤器列表中的唯一行。

【讨论】:

超级,非常感谢。当我使用没有波浪号的线条时,它实际上做了我想要的。 道歉我误读并认为您想删除这些行而不是只保留这些行!我已经编辑了。 非常感谢山姆,无论如何你完美地解决了我的问题。

以上是关于Python:如果字符串出现在列中,则删除行的主要内容,如果未能解决你的问题,请参考以下文章

如果每个工作表中的字符串匹配,则修复删除行

如果在列中找到重复的单元格值,则返回值

Python Pandas:如何在列中搜索字符串? [复制]

Python Pandas Regex:在列中搜索带有通配符的字符串并返回匹配项[重复]

如果前五列中的 NaN 则删除行

在列中查找值,填充'直到非空白单元格