我有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)