import numpy as np
import pandas as pd
from scipy.spatial import distance
avenues_df = pd.DataFrame([0, 153, 307, 524], index=['Park', 'Lexington', '3rd', '2nd'])
streets_df = pd.DataFrame([0, 81, 159, 240, 324], index=['76', '75', '74', '73', '72'])
address = ['Lexington', '74']
taxies = [
['Park', '72'],
['2nd', '75'],
['3rd', '76'],
]
address_vector = np.array([avenues_df.loc[address[0]], streets_df.loc[address[1]]])
taxi_distances = []
for taxi in taxies:
taxi_distances.append(distance.cityblock(address_vector,
np.array(avenues_df.loc[taxi[0]],
streets_df.loc[taxi[1]]
)
)
)
index = np.array(taxi_distances).argmin()
print(taxies[index])