python - Pandas 中的字符串包含

标签 python string pandas

我正在尝试生成 df 中的 company1 包含在 company2 中的所有行。我是这样做的:

df1=df[['company1','company2']][(df.apply(lambda x: x['company1'] in x['company2'], axis=1) == True)]

当我运行上面的代码行时,它还显示“South”与“Southern”相匹配。此外,“South”与“Route South”相匹配。我想摆脱所有这样的情况。 Company1 应该只包含在 Company2 的开头。并且,company1 不应该是 company2 中某个词的一部分,例如“South”(company1)与“Southern”(company2)相匹配。我应该如何修改我的代码来完成上述两个要求?

最佳答案

我认为你需要:

df = pd.DataFrame({'company1': {0: 'South', 1: 'South', 2:'South'}, 
                   'company2': {0: 'Southern', 1: 'Route South', 2: 'South Route'}})

print (df)
  company1     company2
0    South     Southern
1    South  Route South
2    South  South Route

df1=df[df['company2'].str.contains("|".join('^' + df['company1'] + ' '))]
print (df1)
  company1     company2
2    South  South Route

关于python - Pandas 中的字符串包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40117685/

相关文章:

Python Pandas to_sql 'append'

python - 添加分组数据框

Python,无法使用带有 anytree 包的 graphviz 绘制 TreeMap

java - 注意:任务 ':transformClassesWithDexBuilderForDebug' 执行失败

在循环中收集字符串并打印出循环外的所有字符串

python - Pandas 将数据框转换为没有 None 的元组数组

python - 如何从字符串中查找字符串中的字节位置,而不是字符位置?

python - 转换数据帧以在 flask python 中返回为 "application-json"

java - 广泛搜索 - 仍然没有解决 If 语句错误的问题

javascript - 通过使用捕获的匹配项作为键将字符串替换为正则表达式