224 votes

Comment afficher tous les noms de colonnes d'un grand dataframe pandas ?

J'ai un dataframe qui se compose de centaines de colonnes et j'ai besoin de voir tous les noms des colonnes.

Ce que j'ai fait:

In[37]:
data_all2.columns

La sortie est:

Out[37]:
Index(['customer_id', 'incoming', 'outgoing', 'awan', 'bank', 'family', 'food',
       'government', 'internet', 'isipulsa',
       ...
       'overdue_3months_feature78', 'overdue_3months_feature79',
       'overdue_3months_feature80', 'overdue_3months_feature81',
       'overdue_3months_feature82', 'overdue_3months_feature83',
       'overdue_3months_feature84', 'overdue_3months_feature85',
       'overdue_3months_feature86', 'loan_overdue_3months_total_y'],
      dtype='object', length=102)

Comment puis-je afficher toutes les colonnes, au lieu d'une liste tronquée?

400voto

YOLO Points 5868

Vous pouvez définir globalement les options d'impression. Je pense que cela devrait fonctionner :

Méthode 1 :

pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)

Méthode 2 :

pd.options.display.max_columns = None
pd.options.display.max_rows = None

Cela vous permettra de voir tous les noms de colonnes et les lignes lorsque vous utilisez .head(). Aucun des noms de colonnes ne sera tronqué.


Si vous voulez juste voir les noms de colonnes, vous pouvez faire :

print(df.columns.tolist())

4 votes

@EEE Non, cela ne répond pas à la question. Je viens juste d'essayer, il affiche toutes les colonnes au lieu d'une liste tronquée. Il n'a pas dit champ tronqué, il a dit liste de colonnes.

3 votes

Ahh, tu as raison. J'avais tort. Merci, @rjurney. Et désolé YOLO. Je faisais df.columns au lieu de df.head()! Devrais-je supprimer mon commentaire précédent incorrect?

0 votes

Oui, je pense que oui.

64voto

pink.slash Points 148

Pour obtenir tous les noms de colonnes d'un DataFrame, df_data dans cet exemple, vous avez juste besoin d'utiliser la commande df_data.columns.values. Cela vous montrera une liste avec tous les noms de colonnes de votre Dataframe

Code:

df_data=pd.read_csv('../input/data.csv')
print(df_data.columns.values)

Output:

['PassengerId' 'Survived' 'Pclass' 'Name' 'Sex' 'Age' 'SibSp' 'Parch' 'Ticket' 'Fare' 'Cabin' 'Embarked']

0 votes

C'est la vraie réponse à cette question, merci @pink.slash

0 votes

Si je veux voir aussi les numéros de colonne - est-ce possible? Mon df a 200 colonnes et j'aimerais n'en utiliser qu'une fraction, et je pensais que je pourrais utiliser les numéros au lieu d'écrire le nom de chaque colonne.

0 votes

Hmm, cela ne fonctionne pas sur mon système, cela montre même moins que les colonnes df_data...

15voto

EEE Points 135

Dans la console interactive, c'est facile à faire:

data_all2.columns.tolist()

Ou ceci dans un script:

print(data_all2.columns.tolist())

7voto

S. Tibbitts Points 31

Ce qui a fonctionné pour moi était le suivant:

pd.options.display.max_seq_items = None

Vous pouvez également le régler sur un entier supérieur au nombre de vos colonnes.

2voto

Ashwani Shakya Points 330

Pour obtenir tous les noms de colonne, vous pouvez itérer sur les data_all2.columns.

columns = data_all2.columns
for col in columns:
    print col

Vous obtiendrez tous les noms de colonne. Ou vous pouvez stocker tous les noms de colonne dans une autre variable de liste et ensuite afficher la liste.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X