Surpris de ne pas l'avoir vu jusqu'à présent, je vais donc laisser cela ici.
Déballage Iterable étendu (python3.5 +): [*df]
et amis
Des généralisations de déballage (PEP 448) ont été introduites avec Python 3.5. Ainsi, les opérations suivantes sont toutes possibles.
df = pd.DataFrame('x', columns=['A', 'B', 'C'], index=range(5))
df
A B C
0 x x x
1 x x x
2 x x x
3 x x x
4 x x x
Si vous voulez un list
....
[*df]
# ['A', 'B', 'C']
Ou, si vous en voulez un set
,
{*df}
# {'A', 'B', 'C'}
Ou, si vous en voulez un tuple
,
*df, # Please note the trailing comma
# ('A', 'B', 'C')
Ou, si vous souhaitez stocker le résultat quelque part,
*cols, = df # A wild comma appears, again
cols
# ['A', 'B', 'C']
... si vous êtes le genre de personne qui convertit le café en sons de frappe, eh bien, cela va consommer votre café plus efficacement;)
PS: si les performances sont importantes, vous voudrez abandonner les solutions ci-dessus en faveur de
df.columns.to_numpy().tolist()
# ['A', 'B', 'C']
Ceci est similaire à la réponse d'Ed Chum , mais mis à jour pour la version 0.24 où il .to_numpy()
est préférable à l'utilisation de .values
. Voir
cette réponse (par moi) pour plus d'informations.
Vérification visuelle
Depuis que j'ai vu cela discuté dans d'autres réponses, vous pouvez utiliser le déballage itérable (pas besoin de boucles explicites).
print(*df)
A B C
print(*df, sep='\n')
A
B
C
Critique des autres méthodes
N'utilisez pas de for
boucle explicite pour une opération qui peut être effectuée sur une seule ligne (les compréhensions de liste sont correctes).
Ensuite, l'utilisation sorted(df)
ne conserve pas l'ordre d'origine des colonnes. Pour cela, vous devez utiliser à la list(df)
place.
Ensuite, list(df.columns)
et list(df.columns.values)
sont de mauvaises suggestions (à partir de la version actuelle, v0.24). Les deux Index
(retour de df.columns
) et les tableaux numpy (retournées par df.columns.values
) définissent la .tolist()
méthode qui est plus rapide et plus idiomatiques.
Enfin, la listification, c'est-à-dire list(df)
ne doit être utilisée que comme une alternative concise aux méthodes susmentionnées pour python <= 3.4 lorsque le déballage étendu n'est pas disponible.
[*df]
pluslist(df)
oudf.columns.tolist()
, c'est grâce aux généralisations de décompression (PEP 448) .