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:如何在列中搜索字符串? [复制]