Tengo un marco de datos que consta de cientos de columnas y necesito ver todos los nombres de las columnas.
Lo que hice:
In[37]:
data_all2.columns
La salida es:
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)
¿Cómo muestro todas las columnas, en lugar de una lista truncada?
Para obtener todos los nombres de columna de un DataFrame,
df_data
en este ejemplo, solo necesita usar el comandodf_data.columns.values
. Esto le mostrará una lista con todos los nombres de columna de su marco de datosCódigo:
df_data=pd.read_csv('../input/data.csv') print(df_data.columns.values)
Salida:
['PassengerId' 'Survived' 'Pclass' 'Name' 'Sex' 'Age' 'SibSp' 'Parch' 'Ticket' 'Fare' 'Cabin' 'Embarked']
fuente
En la consola interactiva, es fácil de hacer:
O esto dentro de un script:
fuente
Esto hará el truco. Tenga en cuenta el uso de en
display()
lugar de imprimir.with pd.option_context('display.max_rows', 5, 'display.max_columns', None): display(my_df)
EDITAR:
Se
display
requiere el uso de porque lapd.option_context
configuración solo se aplica adisplay
y no aprint
.fuente
with
palabra clave aplique la opción solo al bloque a continuación. Sin embargo, funciona bien conprint()
. ¿Por qué debería usar endisplay()
lugar deprint()
?Lo que funcionó para mí fue lo siguiente:
pd.options.display.max_seq_items = None
También puede establecerlo en un número entero mayor que su número de columnas.
fuente
La forma más fácil que he encontrado es simplemente
Personalmente, no querría cambiar los globales, no es tan frecuente que quiera ver todos los nombres de las columnas.
fuente
Para obtener el nombre de todas las columnas, puede iterar sobre el archivo
data_all2.columns
.columns = data_all2.columns for col in columns: print col
Obtendrá todos los nombres de las columnas. O puede almacenar todos los nombres de columna en otra variable de lista y luego imprimir la lista.
fuente
Si solo desea ver todas las columnas, puede hacer algo de este tipo como solución rápida
ahora cols se comportará como una variable iterativa que se puede indexar. por ejemplo
cols[11:20]
fuente
Una solución rápida y sucia sería convertirlo en una cuerda.
print('\t'.join(data_all2.columns))
haría que todos se imprimieran separados por pestañas. Por supuesto, tenga en cuenta que con 102 nombres, todos ellos bastante largos, será un poco difícil de leer.
fuente
Tenía muchos nombres de columna duplicados, y una vez que ejecuté
Pude ver la lista completa de columnas
Crédito: https://stackoverflow.com/a/40435354/5846417
fuente
puedes probar esto
pd.pandas.set_option('display.max_columns', None)
fuente
No es una respuesta convencional, pero supongo que podría transponer el marco de datos para mirar las filas en lugar de las columnas. Utilizo esto porque encuentro que mirar filas es más 'intuitivo' que mirar columnas:
Esto debería permitirle ver todas las filas. Esta acción no es permanente , solo le permite ver la versión transpuesta del marco de datos.
Si las filas aún están truncadas, solo use
print(data_all2.T)
para ver todo.fuente
Sé que es una repetición pero siempre termino copiando pegando y modificando la respuesta de YOLO:
pd.set_option('display.max_columns', 500) pd.set_option('display.max_rows', 500)
fuente