Cette fonction vous évite d'avoir à énumérer toutes les variables de votre ensemble de données juste pour en ordonner quelques-unes.
def order(frame,var):
if type(var) is str:
var = [var] #let the command take a string or list
varlist =[w for w in frame.columns if w not in var]
frame = frame[var+varlist]
return frame
Elle prend deux arguments, le premier est l'ensemble de données, le second sont les colonnes de l'ensemble de données que vous voulez mettre en avant.
Dans mon cas, j'ai un ensemble de données appelé Cadre avec les variables A1, A2, B1, B2, Total et Date. Si je veux mettre Total en avant, tout ce que j'ai à faire est de :
frame = order(frame,['Total'])
Si je veux mettre le total et la date à l'avant, je le fais :
frame = order(frame,['Total','Date'])
EDIT :
Une autre façon utile d'utiliser ceci est, si vous avez un tableau inconnu et que vous cherchez des variables avec un terme particulier dans celles-ci, comme VAR1, VAR2, ... vous pouvez exécuter quelque chose comme :
frame = order(frame,[v for v in frame.columns if "VAR" in v])
2 votes
Duplicata possible de Python Pandas - Réorganisation des colonnes dans un cadre de données en fonction du nom de la colonne
1 votes
Pour une solution généralisée basée sur NumPy, voir Comment déplacer une colonne dans un cadre de données pandas ? suppose un seul niveau de colonne, c'est-à-dire qu'il n'y a pas de niveau de colonne.
MultiIndex
.0 votes
Après avoir cherché suffisamment, j'ai obtenu ce meilleur lien pour les colonnes réarrangeant plusieurs logiques en termes assez simples [colonnes réarrangeant la logique pour pandas] [ datasciencemadesimple.com/