【问题标题】:How to calculate the similarity between two columns?如何计算两列之间的相似度?
【发布时间】:2021-08-24 03:21:15
【问题描述】:

现在,我想计算数据库中两列之间的列名相似度(例如,jaro 距离)。

条件如下:

  • 有 3 个表(即 T1、T2、T3),每个表有 3 列(即 C1、C2 和 C3)。
  • 然后,我们可以表示 T1C1、T1C2、T1C3、T2C1、....、T3C3。

我想计算两列之间的相似度。但是,我期望的是(T1 仅与 T2、T3 进行比较;T2 仅与 T1、T3 进行比较,T3 仅与 T1、T2 进行比较)。 例如:

  • sim(T1C1, T2C1), sim(T1C1, T2C2), sim(T1C3,T2C3)
  • sim(T1C1, T3C1), sim(T1C1, T3C2), sim(T1C3,T3C3)

那么,我如何计算两列之间的相似度,同一表中的列被忽略(或只返回 0 值)并且我正在使用 Python。

谢谢。

# given the list:
tbl_name = ['User', 'Band', 'Hall']
col_name = ['User.ID', 'User.Name', 'User.Address', 'Band.ID', 'Band.Name', 'Band.Country', 'Hall.ID', 'Hall.Name', 'Hall.Address']
def jaro_distance():
      .....
  return jaro_distance

# calculate similarity
for x in col_name:
   for y in col_name:
       print(jaro_distance(x,y))

以上代码,从col_name返回所有组合。

【问题讨论】:

    标签: python pandas similarity data-wrangling


    【解决方案1】:

    这不是代码问题,而是算法和数学/统计问题。 您的问题可以简化为:如何计算两列之间的相似性。

    1. 对于数值变量,距离是一种方式。
    2. 对于分类变量,您可能需要找到 NLP 相关解决方案。

    【讨论】:

      猜你喜欢
      • 2012-03-11
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 2017-08-22
      • 2012-02-12
      • 1970-01-01
      相关资源
      最近更新 更多