【发布时间】:2019-12-22 01:18:45
【问题描述】:
我知道使用df.str.contains() 检查列是否包含某个子字符串非常简单。
如果我想反其道而行之:检查列的值是否包含在较长的字符串中?我进行了搜索,但找不到答案。我认为这应该很容易,就像在纯 python 中我们可以简单地 'a' in 'abc'
我尝试使用df.isin,但似乎不是为此目的而设计的。
假设我的 df 看起来像这样:
col1 col2
0 'apple' 'one'
1 'orange' 'two'
2 'banana' 'three'
我想在col1 上查询这个 df,如果 包含 字符串 appleorangefruits,它应该返回前两行。
【问题讨论】:
-
你能不能创建minimal reproducible example,这会解释很多。
-
您要检查较长的字符串是否为常数,还是因情况而异?
-
@harvpan 谢谢。添加了一个简单的例子
-
@KevinTroythanks 凯文。它会有所不同,例如,我在 df 中有一个名为 ID 的列。但不知何故,用户为我提供了另一种格式更长的 ID。我想迭代 ID 列表以找出那些匹配的行。