我正在使用str.contains
方法查找数据框中的特定行,但是我希望找到完全匹配的字符串,即使添加regex = False
,它似乎也会选择部分匹配。str.find
也不起作用,我是否应该为此使用另一个函数?下面是我需要它的代码片段:
下面是一些用于复制的代码
data = {'A':['tree','bush','forest','tree/red']}
df_test=pd.DataFrame(data)
df_test['New'] = np.where(df_test['A'].str.contains('tree', regex = False) |
df_test['A'].str.contains('bush') |
df_test['A'].str.contains('forest')
, 'Good', '')
因此,我想在上面的代码中只查找包含“tree”、“bush”或“forest”的行,但是它也会选择包含“tree/red”的行。
2条答案
按热度按时间wfsdck301#
您可以将
str.contains
与^
和$
标记一起使用:还要注意,我们使用了一个带有交替的正则表达式模式来同时搜索所有关键字。
tvokkenx2#
str.contains
检查子字符串是否存在于字符串中,因此您可以使用复杂的正则表达式来获得所需的输出,也可以简单地找到其他方法。下面是我会怎么做