【发布时间】:2019-02-14 21:59:48
【问题描述】:
我想知道是否有更好的替代 Vlookup 来查找两个单元格(或 Python Dfs)之间的匹配项。
我希望我的代码检查 DF1 中的值是否在 DF2 中,如果值完全匹配或如果值部分匹配,则返回 DF2 中的值。
就像第 4 列第 2,3 行的匹配返回值一样。
谢谢朋友!
【问题讨论】:
标签: excel python-3.x vba dataframe vlookup
我想知道是否有更好的替代 Vlookup 来查找两个单元格(或 Python Dfs)之间的匹配项。
我希望我的代码检查 DF1 中的值是否在 DF2 中,如果值完全匹配或如果值部分匹配,则返回 DF2 中的值。
就像第 4 列第 2,3 行的匹配返回值一样。
谢谢朋友!
【问题讨论】:
标签: excel python-3.x vba dataframe vlookup
好吧,您可能已经猜到了,您有多种选择。您可以像这样轻松搜索完全匹配。
=VLOOKUP(value,data,column,FALSE)
这是一个例子。
https://www.excelfunctions.net/vlookup-example-exact-match.html
或者,考虑进行部分匹配。
=VLOOKUP(value&"*",data,column,FALSE)
这是一个例子。
https://exceljet.net/formula/partial-match-with-vlookup
哦,您也可以进行模糊匹配。使用下面的插件来完成此类任务。
https://www.microsoft.com/en-us/download/details.aspx?id=15011
在 Python 中,它会这样完成。
matches = []
for c in checklist:
if c in words:
matches.append(c)
显然,方括号中的项目是列表中的项目。
对于 Python 模糊匹配,请按照以下链接中列出的步骤操作。
https://marcobonzanini.com/2015/02/25/fuzzy-string-matching-in-python/
【讨论】: