Matriz de distancia de Python Pandas usando similitud jaccard

He implementado una función para construir una matriz de distancia usando la similitud jaccard:

import pandas as pd
entries = [
    {'id':'1', 'category1':'100', 'category2': '0', 'category3':'100'},
    {'id':'2', 'category1':'100', 'category2': '0', 'category3':'100'},
    {'id':'3', 'category1':'0', 'category2': '100', 'category3':'100'},
    {'id':'4', 'category1':'100', 'category2': '100', 'category3':'100'},
    {'id':'5', 'category1':'100', 'category2': '0', 'category3':'100'}
           ]
df = pd.DataFrame(entries)

y la matriz de distancia con scipy

from scipy.spatial.distance import squareform
from scipy.spatial.distance import pdist, jaccard

res = pdist(df[['category1','category2','category3']], 'jaccard')
squareform(res)
distance = pd.DataFrame(squareform(res), index=df.index, columns= df.index)

El problema es que mi resultado se ve así, lo que parece ser falso:

¿Qué me estoy perdiendo? La similitud de 0 y 1 tiene que ser máxima, por ejemplo, y los otros valores también parecen incorrectos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta