str.contains 是不是有替代代码用于一个值而不是系列?
Posted
技术标签:
【中文标题】str.contains 是不是有替代代码用于一个值而不是系列?【英文标题】:Is there alternative code for str.contains for one value instead of the series?str.contains 是否有替代代码用于一个值而不是系列? 【发布时间】:2021-07-16 10:19:01 【问题描述】:我有一列名字和姓氏,例如:
df['clients'] = ['Mike Thompson', 'Anna Frank']
而且我有客户的姓名和姓氏,但并不总是正确的。
df['name'] = ['Mike', 'Joanna']
df['surname'] = ['Thompson', 'Brown']
我想查找未正确输入有关客户姓名和姓氏信息的行。我已经使用了这个代码
df['clients'][0].str.contains(df.name[0] | df.surname[0], nan=False, regex = True
它不工作。我读过 str.contains() 适用于系列而不是单一值。 str.contains() 是否有任何替代方案,仅适用于一个值而不适用于系列?
【问题讨论】:
请发布具有预期输出的示例数据框 您能否解释一下您所说的信息不正确是什么意思 【参考方案1】:纯字符串操作
any(x in df['clients'][0] for x in [df.name[0], df.surname[0]]):
或者用正则表达式
import re
bool(re.search('|'.join([df.name[0], df.surname[0]]), df['clients'][0]))
【讨论】:
以上是关于str.contains 是不是有替代代码用于一个值而不是系列?的主要内容,如果未能解决你的问题,请参考以下文章
.str.contains 返回实际找到的值而不是 True 或 False