在同一数据框中的两个字符串列之间创建具有模糊分数的新列

安东纽斯

我正在尝试计算同一数据帧中两列的模糊得分(最好为partial_ratio得分)。

| column1 | column2|
| -------- | -------------- |
| emmett holt| holt
| greenwald| christopher

它需要看起来像这样:

| column1 | column2|partial_ratio|
| -------- | -------------- |-----------|
| emmett holt| holt|100|
| greenwald| christopher|22|
|schaefer|schaefer|100|

在此网站上的另一个问题的帮助下,我致力于以下代码:

compare=pd.MultiIndex.from_product([ dataframe['column1'],dataframe ['column2'] ]).to_series()

def metrics (tup):
   return pd.Series([fuzz.partial_ratio(*tup)], ['partial_ratio'])

df['partial_ratio'] = df.apply(lambda x: fuzz.partial_ratio(x['original_title'], x['title']), axis=1)

但是问题已经从返回以下错误通知的代码的第一行开始:

无法将列转换为布尔值:请对“和”,“ |”使用“&” 构建DataFrame布尔表达式时,将'or'表示为'or',将'〜'表示为'not'。

您可以说我有点卡在这里,因此对此提出的任何建议都将不胜感激!

麦克

您需要使用UDF才能使用Fuzzywuzzy:

from fuzzywuzzy import fuzz
import pyspark.sql.functions as F

@F.udf
def fuzzyudf(original_title, title):
    return fuzz.partial_ratio(original_title, title)

df2 = df.withColumn('partial_ratio', fuzzyudf('column1', 'column2'))
df2.show()

+-----------+-----------+-------------+
|    column1|    column2|partial_ratio|
+-----------+-----------+-------------+
|emmett holt|       holt|          100|
|  greenwald|christopher|           22|
+-----------+-----------+-------------+

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从减去的一个字符串列中创建两个字符串列

来自分类Dev

如何在pyspark数据框中减去两个字符串列?

来自分类Dev

Snowflake中两个字符串列之间的区别

来自分类Dev

获取其中列具有R中的一个或两个字符串的行

来自分类Dev

从两个字符串列中提取YYYY年并将其放在一个新列中,并保留NaN值

来自分类Dev

如何在Spark Python的一列中连接两个字符串列

来自分类Dev

如何在Spark Python的一列中连接两个字符串列

来自分类Dev

计算来自两个不同数据帧的两个字符串列之间的编辑距离

来自分类Dev

创建对称矩阵的有效方法,计算两个字符串属于同一列表的频率

来自分类Dev

C#创建一个字符串,该字符串包含字符串中两个字符之间的所有内容

来自分类Dev

删除两个字符之间的字符串中的所有内容

来自分类Dev

在熊猫中,如何检查两个字符串是否与现有数据框中任何行中的多列匹配并将其删除

来自分类Dev

合并两个字符串列表

来自分类Dev

合并两个字符串列表

来自分类Dev

获取两个字符串之间的所有行并将数据存储在python 2.7中的另一个文件中

来自分类Dev

比较熊猫数据框中的两个字符串并显示差异

来自分类Dev

返回数据帧列表中两个字符串之间的值[R]

来自分类Dev

如何计算两个字符串列表之间的jaccard相似度距离

来自分类Dev

从数据框-Pandas中所有列的列名中删除最后两个字符

来自分类Dev

从数据框-Pandas中所有列的列名中删除最后两个字符

来自分类Dev

R:比较大数据框中的两个字符列

来自分类Dev

RegEx在具有换行符的两个字符串之间获取字符串

来自分类Dev

有条件地连接两个字符串列

来自分类Dev

合并两个字符串列,将缺失值交替为一

来自分类Dev

在Python中查找两个字符串列表的交集

来自分类Dev

在Lisp中映射两个字符串列表(以简短方式)?

来自分类Dev

按行比较dataframe中的两个字符串列

来自分类Dev

如何从两个字符串列表中删除公用值

来自分类Dev

R中两个字符串列中元素的部分匹配

Related 相关文章

  1. 1

    从减去的一个字符串列中创建两个字符串列

  2. 2

    如何在pyspark数据框中减去两个字符串列?

  3. 3

    Snowflake中两个字符串列之间的区别

  4. 4

    获取其中列具有R中的一个或两个字符串的行

  5. 5

    从两个字符串列中提取YYYY年并将其放在一个新列中,并保留NaN值

  6. 6

    如何在Spark Python的一列中连接两个字符串列

  7. 7

    如何在Spark Python的一列中连接两个字符串列

  8. 8

    计算来自两个不同数据帧的两个字符串列之间的编辑距离

  9. 9

    创建对称矩阵的有效方法,计算两个字符串属于同一列表的频率

  10. 10

    C#创建一个字符串,该字符串包含字符串中两个字符之间的所有内容

  11. 11

    删除两个字符之间的字符串中的所有内容

  12. 12

    在熊猫中,如何检查两个字符串是否与现有数据框中任何行中的多列匹配并将其删除

  13. 13

    合并两个字符串列表

  14. 14

    合并两个字符串列表

  15. 15

    获取两个字符串之间的所有行并将数据存储在python 2.7中的另一个文件中

  16. 16

    比较熊猫数据框中的两个字符串并显示差异

  17. 17

    返回数据帧列表中两个字符串之间的值[R]

  18. 18

    如何计算两个字符串列表之间的jaccard相似度距离

  19. 19

    从数据框-Pandas中所有列的列名中删除最后两个字符

  20. 20

    从数据框-Pandas中所有列的列名中删除最后两个字符

  21. 21

    R:比较大数据框中的两个字符列

  22. 22

    RegEx在具有换行符的两个字符串之间获取字符串

  23. 23

    有条件地连接两个字符串列

  24. 24

    合并两个字符串列,将缺失值交替为一

  25. 25

    在Python中查找两个字符串列表的交集

  26. 26

    在Lisp中映射两个字符串列表(以简短方式)?

  27. 27

    按行比较dataframe中的两个字符串列

  28. 28

    如何从两个字符串列表中删除公用值

  29. 29

    R中两个字符串列中元素的部分匹配

热门标签

归档