我想使用JaroWinkler相似度比较两个大小不同的列表。 List_1
具有5
个元素,它来自列数据帧,例如
List_1=df['Movements'].tolist()
即List_1=['surrealism', 'futurism', 'impressionism', 'realism', 'neorealism']
list_2
有7
个元素:
list_2=['romantisme', 'surrealisme', 'realisme','creativité', 'liberté', 'poete','cubism','metaphysique']
要计算JaroWinkler距离,我使用以下函数:
jarowinkler = JaroWinkler()
我将其应用于df.Movements
列,如下所示:
for m in all_mov:
df[m] = df.Movements.apply(lambda x: jarowinkler.similarity(x, m))
np.where(df[m] > 0.1, df[m], np.nan)
我想使用seaborn
热图来绘制仅jarowinkler.similarity
大于0.1
的结果。
mask = np.zeros_like(df.Movements)
mask[np.triu_indices_from(mask)] = True
with sns.axes_style("white"):
f, ax = plt.subplots(figsize=(10, 5))
ax = sns.heatmap(df['Movements'], mask=mask, square=False)
但是,我只能看到一个正方形的结果(即只能看到list_2
中前5个元素的结果。
我做错什么了吗(例如考虑热图未平方)?还有其他方法可以可视化大小不同的列表之间的相似性吗?
咨询将非常受欢迎。