【发布时间】: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