Eu tenho um quadro de dados parecido com 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
Como posso obter todas as colunas, exceto column b
?
Respostas:
Quando as colunas não são um MultiIndex,
df.columns
é apenas uma matriz de nomes de colunas para que você possa fazer:fonte
drop
é melhor IMO. Um pouco mais legíveis e alças multiindexesdrop
é melhor - acho útil descobrir que colunas (de nível único) são matrizes com as quais você pode trabalhar, mas especificamente para soltar uma coluna,drop
é muito legível e funciona bem com índices complexos.Não use
ix
. Está obsoleto . A maneira mais legível e idiomática de fazer isso édf.drop()
:Observe que, por padrão,
.drop()
não opera no local; apesar do nome ameaçador, nãodf
é prejudicado por esse processo. Se você deseja remover permanentementeb
a partirdf
, façadf.drop('b', inplace=True)
.df.drop()
também aceita uma lista de rótulos, por exemplodf.drop(['a', 'b'], axis=1)
, soltará a colunaa
eb
.fonte
df.drop([('l1name', 'l2name'), 'anotherl1name'], axis=1)
. Parece usar lista vs tupla para determinar se você deseja várias colunas (lista) ou se referir a um multi-índice (tupla).df.drop(columns='a')
oudf.drop(columns=['a', 'b'])
. Também pode substituircolumns=
comindex=
.fonte
sort=False
se você quer evitar que o comportamento (df.columns.difference(['b'], sort=False)
)Você pode usar
df.columns.isin()
Quando você deseja soltar várias colunas, é simples:
fonte
Aqui está outra maneira:
Você apenas passa todas as colunas a serem exibidas, exceto a que você não deseja.
fonte
Outra pequena modificação no @Salvador Dali permite que uma lista de colunas seja excluída:
ou
fonte
Eu acho que a melhor maneira de fazer é a maneira mencionada por @Salvador Dali. Não que os outros estejam errados.
Porque quando você tem um conjunto de dados em que deseja apenas selecionar uma coluna e colocá-la em uma variável e o restante das colunas em outra para fins de comparação ou computacionais. Soltar a coluna do conjunto de dados pode não ajudar. Obviamente, também existem casos de uso para isso.
Em seguida, você pode colocar a coleção de colunas na variável
x_cols
em outra variável, comox_cols1
em outros cálculos.fonte
Aqui está uma lambda de uma linha:
antes :
depois de :
fonte