Pandas string.contains不起作用,如果搜索到的字符串在字符串开头包含子字符串

问题描述 投票:0回答:1

我正在使用str.contains搜索其中列包含特定字符串作为子字符串的行

df[df['col_name'].str.contains('find_this')]

这将返回'find_this'在字符串中某处的所有行。但是,在df ['col_name']中的字符串以'find_this'开头的罕见但重要的情况下,上述查询不会返回此行。

str.contains()在应该返回true的地方返回false。

任何帮助将不胜感激,谢谢!


编辑我已根据要求添加了一些示例数据。Image of dataframe我想更新“ Eqvnt_id”列,例如,“ Course_ID”列包含AAS 102的行都具有相同的“ Eqvnt_id”值。

为此,我需要能够在'Course_ID'中的字符串中搜索'AAS 102',以便找到适当的行。

数据类型是所有对象。我尝试过将它们映射并将其应用于字符串类型,但是没有效果。

python string pandas substring contains
1个回答
-2
投票

您可以改用pandas.Series.str.find()-它返回找到字符串的索引-如果在开头,则返回的索引为0。如果找不到字符串,则返回-1 。

df[df['col_name'].str.find('find_this') != -1]

让我知道是否有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.