Tengo un marco de datos como este:
import pandas
import numpy as np
df = DataFrame(np.random.rand(4,4), columns = list('abcd'))
df
      a         b         c         d
0  0.418762  0.042369  0.869203  0.972314
1  0.991058  0.510228  0.594784  0.534366
2  0.407472  0.259811  0.396664  0.894202
3  0.726168  0.139531  0.324932  0.906575
¿Cómo puedo obtener todas las columnas excepto column b?

Respuestas:
Cuando las columnas no son un MultiIndex,
df.columnses solo una matriz de nombres de columnas para que pueda hacer:fuente
dropes mejor IMO. Un poco más legible y manejadropes mejor; creo que es útil descubrir que las columnas (de un solo nivel) son matrices con las que puede trabajar, pero específicamente para soltar una columna,dropes muy legible y funciona bien con índices complejos.No utilice
ix. Está en desuso . La forma más legible e idiomática de hacer esto esdf.drop():Tenga en cuenta que, de manera predeterminada,
.drop()no funciona en el lugar; a pesar del nombre ominoso, nodfsufre daños por este proceso. Si desea eliminar de forma permanenteba partirdf, hacerdf.drop('b', inplace=True).df.drop()también acepta una lista de etiquetas, por ejemplodf.drop(['a', 'b'], axis=1), soltará la columnaayb.fuente
df.drop([('l1name', 'l2name'), 'anotherl1name'], axis=1). Parece utilizar list vs tuple para determinar si desea varias columnas (list) o hacer referencia a un índice múltiple (tuple).df.drop(columns='a')odf.drop(columns=['a', 'b']). También se puede reemplazarcolumns=conindex=.fuente
sort=Falsesi desea evitar ese comportamiento (df.columns.difference(['b'], sort=False))Puedes usar
df.columns.isin()Cuando desee soltar varias columnas, tan simple como:
fuente
Aquí hay otra manera:
Simplemente pasa todas las columnas para que se muestren, excepto la que no deseas.
fuente
Otra pequeña modificación a @Salvador Dali permite excluir una lista de columnas:
o
fuente
Creo que la mejor manera de hacerlo es la mencionada por @Salvador Dali. No es que los otros estén equivocados.
Porque cuando tiene un conjunto de datos en el que solo desea seleccionar una columna y colocarla en una variable y el resto de las columnas en otra para fines de comparación o computacionales. Luego, dejar caer la columna del conjunto de datos podría no ayudar. Por supuesto, también hay casos de uso para eso.
Luego puede poner esa colección de columnas en variable
x_colsen otra variable comox_cols1para otro cálculo.fuente
Aquí hay una línea lambda:
antes :
despues :
fuente