# 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(