I think you are intrested in distance_matrix.
For example:
Create data:
import pandas as pd
from scipy.spatial import distance_matrix
data = [[5, 7], [7, 3], [8, 1]]
ctys = ['Boston', 'Phoenix', 'New York']
df = pd.DataFrame(data, columns=['xcord', 'ycord'], index=ctys)
Output:
xcord ycord
Boston 5 7
Phoenix 7 3
New York 8 1
Using the distance matrix function:
pd.DataFrame(distance_matrix(df.values, df.values), index=df.index, columns=df.index)
Results:
Boston Phoenix New York
Boston 0.000000 4.472136 6.708204
Phoenix 4.472136 0.000000 2.236068
New York 6.708204 2.236068 0.000000