# Import service center data center = pd.read_csv('service_center.csv', encoding='utf-8') # Import Customer data customer = pd.read_csv('customer.csv', encoding='utf-8') customer['coordinate'] = customer[['latitude', 'longitude']].apply(tuple, axis=1) # Standardize Longitude and Latitude scaler = StandardScaler() customer['longitude_std'] = scaler.fit_transform(customer[['longitude', 'latitude']])[:, 0] customer['latitude_std'] = scaler.fit_transform(customer[['longitude', 'latitude']])[:, 1] # K-means Clustering kmeans = KMeans(n_clusters=9, init='k-means++', n_init=10, max_iter=300, verbose=1, random_state=123) kmeans.fit_transform(customer[['longitude_std', 'latitude_std']]) centers = scaler.inverse_transform(kmeans.cluster_centers_) groups = kmeans.predict(customer[['longitude_std', 'latitude_std']]) customer['groups'] = groups # Coordinate of each cluster cluster_center = kmeans.cluster_centers_ cluster_center = scaler.inverse_transform(cluster_center) cluster_center = pd.DataFrame(cluster_center, columns=['longitude', 'latitude']) cluster_center['group'] = range(0, 9) # Plot Map init_location = [customer.loc[0, 'latitude'], customer.loc[0, 'longitude']] cluster_map = folium.Map(location=init_location, zoom_start=10) customer[customer.groups == 6].apply(