【发布时间】:2017-10-10 12:09:50
【问题描述】:
我有两个 DataFrame 对象,每个对象包含 2 列字符串数据。我需要将a 和b 列与c 和d 进行比较,然后根据最高匹配率合并两个DataFrame 对象。
DF1 DF2
a b c d
apple paster doser ankle
bac bur are bun
sit sign and lake
car bun ape mason
alli makeup noodle paster
示例输出
RESULT
a b c d comparison_ratio
apple paster noodle paster 1
bac bur are bun 0.95
sit sign and lake random number based on match
car bun are bun 1
alli makeup noodle paster random number based on match
显然,除了完美匹配1之外,这些比率都是由比例组成的。
我可以遍历每个 DataFrame 对象的每一行并应用 difflib.SequenceMatcher 函数来返回比率,然后将最大比率与相应的数据一起设置该行上的值,但考虑到有多大数据是这将需要很长时间。我很好奇是否可以以某种方式使用apply 将此函数应用于两个DataFrame 对象
【问题讨论】:
标签: python string pandas string-comparison