K-means > IndexError: too many indices for array: array is 2-dimensional, but 3 were indexed

Bonjour,

je tente de trouver une solution pour appliquer du K-means sur mon projet de formation, toutefois je n’y parviens j’obtiens une erreur où je ne trouve pas de solution même en cherchant sur internet.

je vous poste la base de mon code et un aperçu de mon Dataframe.

X = NRJ_meteo.drop(labels = ['Cumul EnR'], axis = 1)
y = NRJ_meteo["Cumul EnR"]
# Catégoriser les productions d'énergie renouvelable
y = pd.cut(NRJ_meteo['Cumul EnR'],
                  bins = 4,
                  labels = [1, 2, 3, 4])
# Standardisation
scaler = StandardScaler()  # Création de l'instance StandardScaler
Z = scaler.fit_transform(X) # Normaliser df grâce à la méthode fit_transform.
## df_kmeans 
df_kmeans = pd.DataFrame(Z[:,2,4], columns=['Pression Atmosphérique', 'Cumul ENR'])

kmeans = KMeans(n_clusters=2)
## Ajsutement 
kmeans.fit(df_kmeans)
## Prédictions
y_kmeans = kmeans.predict(df_kmeans)

y_kmeans

et j’obtiens cette erreur sur l’exécution du kmeans

IndexError Traceback (most recent call last)
Input In [52], in <cell line: 2>()
1 ## df_kmeans ne contient que les variables ‹ Annual Income (k$) › et ‹ Spending Score (1-100) ›
----> 2 df_kmeans = pd.DataFrame(Z[:,2,4], columns=[‹ Pression Atmosphérique ›, ‹ Cumul ENR ›])
4 kmeans = KMeans(n_clusters=2)
5 ## Ajsutement

IndexError: too many indices for array: array is 2-dimensional, but 3 were indexed

Quelqu’un a déjà rencontré une erreur similaire et saurait m’expliquer ce qui ne va pas ?

merci

Bonjour Cédric,

L’erreur vient de là: Z[:,2,4]
Tu fournis 3 indexes au lieu de 2, je suppose que tu pensais écrire Z[:, 2:4]?

Bonjour Cédric @5554
Je soutiens la réponse de Oussema @6408
Pourriez-vous tester?