A cluster number means nothing until someone can say what the group is. A wine merchant wants each group described in real units.
Task: write describe_groups(k, columns).
load_wine(return_X_y=True, as_frame=True).StandardScaler().fit_transform(X).KMeans(n_clusters=k, random_state=0, n_init=10) on the scaled data.columns, using the original, unscaled values."size" (the number of wines in it, a plain int) and one key per column name, holding that mean as a plain float rounded to 2 decimal places.