微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何扫描字符串中的字符以匹配不同列中的另一个字符串

如何解决如何扫描字符串中的字符以匹配不同列中的另一个字符串

我有2列字符串,我想根据每个字符串的前3个字符来匹配字符串。基本上,代码遍历第1列第1行的每个字符,并将其与第2列的行进行比较以找到最佳匹配。

IE:第1行第1列扫描“ p”“ a”“ s”,并在Col2中查找以“ p”“ a”“ s”开头的字符串,以此类推,以第2行第1列。

我对python很陌生;我的道歉。

原始表(未排序)

+-------------+---------+----------+
|  Row Index  |  Col1   |  Col2    |
+-------------+---------+----------+
| 1           | pasta   | sauce    |
| 2           | sauce   | orange   |
| 3           | orange  | pasta    |
+-------------+---------+----------+

预期表(匹配后)

+-------------+---------+----------+
|  Row Index  |  Col1   |  Col2    |
+-------------+---------+----------+
| 1           | pasta   | pasta    |
| 2           | sauce   | sauce    |
| 3           | orange  | orange   |
+-------------+---------+----------+

我没有任何代码可以显示,因为我不确定如何启动。谢谢。

解决方法

可能不是最快,最干净的解决方案,但会返回您要的内容:

df['Col3'] = df.Col1.apply(lambda x: [i for i in df.Col2 if i.startswith(x[:3])][0])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。