[英]pandas.Series.str.contains() is not finding a string which exists in the Series
我正在尝试将列表中的一堆名称与 Pandas DataFrame 的一列中的名称匹配。 DataFrame的一小部分如下图所示:
“对象 ID”列中的值有一些空格,我使用以下行删除了这些空格:
df["Object ID"] = df["Object ID"].str.strip()
我正在使用以下行搜索“对象 ID”列:
df[df["Object ID"].str.contains('EM* LkHA 115') == True]
尽管 dataframe 中存在“EM* LkHA 115”,但上面的行返回一个空的 dataframe,如下所示:
知道我做错了什么吗? 如果有帮助,我很乐意提供任何进一步的信息。
提前致谢 !
您必须转义“*”字符。
df[df["Object ID"].str.contains('EM\* LkHA 115')]
你也不需要 == True
正如@MustafaAydın 在下面的评论中所说,您可以使用正则表达式库动态地执行此操作。
import re
df[df["Object ID"].str.contains(re.escape('EM* LkHA 115'))]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.