String Distance Matrix in Python using pdist
You need to wrap the distance function, like I demonstrated in the following example with the Levensthein distance
import numpy as np
from Levenshtein import distance
from scipy.spatial.distance import pdist, squareform
# my list of strings
strings = ["hello","hallo","choco"]
# prepare 2 dimensional array M x N (M entries (3) with N dimensions (1))
transformed_strings = np.array(strings).reshape(-1,1)
# calculate condensed distance matrix by wrapping the Levenshtein distance function
distance_matrix = pdist(transformed_strings,lambda x,y: distance(x[0],y[0]))
# get square matrix
print(squareform(distance_matrix))
Output:
array([[ 0., 1., 4.],
[ 1., 0., 4.],
[ 4., 4., 0.]])