Хотя теоретически возможно реализовать k-средних с другими мерами расстояния, это не рекомендуется - ваш алгоритм может перестать сходиться.Более подробное обсуждение можно найти, например, на StackExchange .Вот почему scikit-learn не имеет других метрик расстояния.
Я бы предложил использовать, например, иерархическую кластеризацию, где вы можете подключить функцию произвольного расстояния.