[python, pandas] wide_to_long me crée un header bizare.

a marqué ce sujet comme résolu.

Bonjour,

j’essaie de convertir un dataframe wide-shaped en long-shaped. J’utilise la fonction wide_to_long. Mais une partie des headers n’est plus accessible après l’opération :

               f1     f2     f3
id element                     
0  chla      0.00   0.00   0,00
1  chla      3.10   2.46   2,36
2  chla      5.67   5.64   5,59

Les colonnes (f1, f2, f3) représentent les colonnes 0, 1, et 2. Et si j’essaie d’accéder à element ou id, j’ai un key error. Comment faire pour revenir à un header « normal », avec mes cinq colonnes et cinq labels ?

Salut,

Ben… C’est le fonctionnement normal de wide_to_long, c’est pas que le header est bizarre, c’est que pandas construit un MultiIndex. Avec df.loc[0, "chla"] par exemple tu accèdes à la première ligne. Là ton multi-index sert à rien parce que tous les elements sont "chla", mais bon…

Du coup, comme ce n’est visiblement pas ce que tu veux obtenir, il serait utile de connaitre le dataframe de départ, comment tu appelles wide_to_long, et ce que tu souhaiterais obtenir à la place. Parce que là on est un peu dans le noir…

Salut,

désolé pour le temps de réponse. J’ai été « plutôt chargé » ces dernières semaines et dans le cas présent, j’ai résolu mon problème à l’arrache en enchaînant les lignes de codes parce que je n’avais pas trop le temps de trouver une solution propre. Le but était d’obtenir un index simple ("id", "élément", "f1", "f2", "f3")

Mais je note. Je ne connaissais pas cette notion de multiindex. Je me documenterai là dessus dès que j’aurai un peu de temps.

Là ton multi-index sert à rien parce que tous les elements sont "chla", mais bon…

J’ai juste pas mis le tableau en entier.

Merci.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte