距离矩阵-Haversine

时间:2020-07-30 10:44:13

标签: matrix distance

我有2个矩阵

矩阵A-客户代码,纬度,经度(19100个条目)
矩阵B-商店ID,纬度,经度(9000个条目)

我想以KM创建距离矩阵。

我该怎么做?

我在下面尝试过,拆包错误即将到来。请帮忙

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from scipy.spatial.distance import cdist
from haversine import haversine
import seaborn as sns; sns.set()
import csv

customer = pd.read_excel(r'C:\Users\kapil.mullick\Desktop\MLAI\Customer_PIN.xlsx')
store = pd.read_excel(r'C:\Users\kapil.mullick\Desktop\MLAI\Store_PIN.xlsx')
len(customer)
len(store)

customer.head(5)
store.head(5)

customer.dropna(axis=0,how='any',subset=['Latitude','Longitude'],inplace=True)
store.dropna(axis=0,how='any',subset=['Latitude','Longitude'],inplace=True)

distance_matrix = cdist(customer, store, metric=haversine)

遇到以下错误:

ValueError                                Traceback (most recent call last)
<ipython-input-6-cb93029994d1> in <module>
----> 1 distance_matrix = cdist(customer, store, metric=haversine)

~\Anaconda3\lib\site-packages\scipy\spatial\distance.py in cdist(XA, XB, metric, *args, **kwargs)
   2764         for i in xrange(0, mA):
   2765             for j in xrange(0, mB):
-> 2766                 dm[i, j] = metric(XA[i], XB[j], **kwargs)
   2767 
   2768     elif isinstance(metric, string_types):

~\Anaconda3\lib\site-packages\haversine\haversine.py in haversine(point1, point2, unit)
     59 
     60     # unpack latitude/longitude
---> 61     lat1, lng1 = point1
     62     lat2, lng2 = point2
     63 

ValueError: too many values to unpack (expected 2)

0 个答案:

没有答案
相关问题