ValueError: имя кластера встречается несколько раз, используйте номер уровня - PullRequest
1 голос
/ 25 февраля 2020

1) Я пытался создать кластер, используя алгоритм Kmeans. 2) Затем я пытаюсь визуализировать результаты, затем я столкнулся с ошибкой ниже.

Код: [введите описание изображения здесь] [1]

kmeans = KMeans(n_clusters=2)
cluster_found = kmeans.fit_predict(X)
cluster_found_sr = pd.Series(cluster_found, name='cluster')
df_pivot = df_pivot.set_index(cluster_found_sr, append=True )

fig, ax= plt.subplots(1,1, figsize=(18,10))
color_list = ['blue','red','green']
cluster_values = sorted(df_pivot.index.get_level_values('cluster').unique())

for cluster, color in zip(cluster_values, color_list):
    df_pivot.xs(cluster, level=1).T.plot(
        ax=ax, legend=False, alpha=0.01, color=color, label= f'Cluster {cluster}'
        )
    df_pivot.xs(cluster, level=1).median().plot(
        ax=ax, color=color, alpha=0.9, ls='--'
    )

ax.set_xticks(np.arange(1,25))
ax.set_ylabel('kilowatts')
ax.set_xlabel('hour')
ax.legend()

Ошибка:

    ---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-39-72d1a2e5715c> in <module>()
      6 fig, ax= plt.subplots(1,1, figsize=(18,10))
      7 color_list = ['blue','red','green']
----> 8 cluster_values = sorted(df_pivot.index.get_level_values('cluster').unique())
      9 
     10 for cluster, color in zip(cluster_values, color_list):

1 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/indexes/multi.py in _get_level_number(self, level)
   1290         if (count > 1) and not is_integer(level):
   1291             raise ValueError(
-> 1292                 "The name %s occurs multiple times, use a " "level number" % level
   1293             )
   1294         try:

ValueError: The name cluster occurs multiple times, use a level number

Помогите исправить

...