print(linkage_row) #Now here we will decide our loop structure actual_1 = arr[clustered_p_1].reshape(1, 2) actual_2 = arr[clustered_p_2].reshape(1, 2) arr = np.delete( arr, [clustered_p_1, clustered_p_2], axis=0) # removing rows that were clustered from original array # temp=Clustering() print(arr) print(agg_clustering.get_distance(actual_1, arr, axis=1).shape) print(agg_clustering.get_distance(cen=actual_2, arr=arr, axis=1)) print( np.minimum(agg_clustering.get_distance(actual_1, arr, axis=1), agg_clustering.get_distance(actual_2, arr, axis=1)), "\t MINIMUM element wise") print('\n', linkage_matrix, 'and linkage dictionary is', linkage_dictionary) print("#####") # To be deleted --- The name of the point appended will come from name of iterable variable in for loop new_array = np.append(new_array, np.array([11, 11]).reshape(1, 2), axis=0) # forming new array 1. Appending a point who coordinates are name of newly formed cluster arr = np.concatenate( (new_array,