J'ai un cadre de données composé de centaines de colonnes et j'ai également besoin de voir tous les noms de 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 les colonnes all au lieu d'une liste tronquée?
Vous pouvez définir globalement les options d'impression. Je pense que cela devrait fonctionner:
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
Cela vous permettra de voir tous les noms de colonnes et toutes les lignes lorsque vous ferez .head()
. Aucun des noms de colonnes ne sera tronqué.
Si vous voulez voir uniquement les noms de colonnes, vous pouvez faire: cols = df.columns.tolist()
Pour obtenir tous les noms de colonne d'un DataFrame, df_data
dans cet exemple, il vous suffit 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)
Sortie:
['PassengerId' 'Survived' 'Pclass' 'Name' 'Sex' 'Age' 'SibSp' 'Parch' 'Ticket' 'Fare' 'Cabin' 'Embarked']
Dans la console interactive, c'est facile à faire:
data_all2.columns.tolist()
Ou ceci dans un script:
print(data_all2.columns.tolist())
Pour obtenir tous les noms de colonnes, vous pouvez parcourir le data_all2.columns
.
columns = data_all2.columns
for col in columns:
print col
Vous obtiendrez tous les noms de colonnes. Vous pouvez également stocker tous les noms de colonne dans une autre variable de liste, puis imprimer la liste.
Ce qui a fonctionné pour moi a été le suivant:
pd.options.display.max_seq_items = None
Vous pouvez également définir un entier supérieur à votre nombre de colonnes.
Si vous voulez juste voir toutes les colonnes, vous pouvez faire quelque chose de ce genre comme solution rapide
cols = data_all2.columns
maintenant, cols se comportera comme une variable itérative pouvant être indexée. par exemple
cols[11:20]
J'ai eu beaucoup de noms de colonnes en double, et une fois que j'ai couru
df = df.loc[:,~df.columns.duplicated()]
J'ai pu voir la liste complète des colonnes
Une solution rapide et sale serait de le convertir en chaîne
print('\t'.join(data_all2.columns))
provoquerait leur impression séparée par des onglets Bien sûr, notez qu'avec 102 noms, tous assez longs, cela sera un peu difficile à lire