Fala meu amigo, você aqui de novo? Ótimo! Obrigado por acreditar em meu trabalho e depositar mais um crédito.
Trago para você hoje, uma forma rápida e simples para que você consiga listar todas as colunas de um dataframe.
Solto uma pergunta para você responder! Vamos lá...
Mais por que listar quais colunas existem em um dataframe pode ser útil para você? Que valor irá agregar no seu trabalho? Bem, vou tentar responder de uma forma simples e bacana, segue comigo aqui...
Em exemplos reais, ou seja, no seu dia-a-dia, encontramos grandes conjuntos de dados podendo em alguns casos conter um grande número de linhas e colunas. Onde para trabalharmos, precisamos estar familiarizados ou poder de alguma forma identificar as linhas, colunas, e seus data types. Em muitos casos pode até existir a necessidade de armazenar os nomes das colunas para facilitar a extração em um momento futuro e até mesmo em outra utilização.
Em algumas situações, utilizamos o comando dataframe.columns para exibir os nomes das colunas de um DataFrame. Mais nem tudo pode ser tão simples quanto parece. Quando manipulamos um pequeno conjunto de dados, o resultado é ótimo, mas se estivermos o nosso cenário for de um DataFrame com mais de uma centena de colunas, este método pode revelar-se não tão eficiente.
O exemplo seguinte ilustrará o problema com dataframe.columns:
import pandas as pd
import numpy as np
dfTeste = pd.DataFrame(columns = np.arange(150))
print('dataframe: ' + str(dfTeste.columns))
type(dfTeste.columns)
Analise o output gerado.
dataframe: Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 140, 141, 142, 143, 144, 145, 146, 147, 148, 149], dtype='int64', length=150)
Out[57]:
pandas.core.indexes.numeric.Int64Index
De forma resumida, no exemplo, criamos um DataFrame com 150 colunas de 0-149, e analisando o output, não é possível visualizar todas as as colunas, pois após a coluna 9 entra um "..." (reticências) e vai direto para a coluna 140.
Para contornar esse transtorno, a melhor forma de trabalhar é converter o resultado do comando dataframe.columns para uma lista usando o método list() ou tolist(), esse comando irá retornar todas as colunas do DataFrame.
import pandas as pd
import numpy as np
dfTeste = pd.DataFrame(columns = np.arange(150))
print('dataframe: ' + str(dfTeste.columns))
print(list(dfTeste.columns))
import pandas as pd
import numpy as np
dfTeste = pd.DataFrame(columns = np.arange(150))
print('dataframe: ' + str(dfTeste.columns))
print(dfTeste.columns.tolist())
Repare como que ficou claro agora o output.
dataframe: Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
...
140, 141, 142, 143, 144, 145, 146, 147, 148, 149],
dtype='int64', length=150)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149]
Agora é possível analisar todas as colunas do nosso dataframe.
Uma outra abordagem para esse cenário, consiste na utilização de um Numpy Array. É muito simples a sua aplicação.
Vamos recriar o nosso dataframe com as 150 colunas.
import pandas as pd
import numpy as np
dfTeste = pd.DataFrame(columns = np.arange(150))
print('dataframe: ' + str(dfTeste.columns))
type(dfTeste.columns)
Já é do nosso conhecimento que ao aplicar o comando dataframe.columns, em nosso caso dfTeste.columns, apenas um pedaço do nosso resultado é apresentado.
Quando utilizamos o o NumPy Array, vamos adicionar nesse comando a expressão ".values".
Vamos aplicar e analisar o output gerado.
import pandas as pd
import numpy as np
dfTeste = pd.DataFrame(columns = np.arange(150))
print('dataframe: ' + str(df.columns))
print(df.columns.values)
Sucesso! Analisa comigo.
dataframe: Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
...
140, 141, 142, 143, 144, 145, 146, 147, 148, 149],
dtype='int64', length=150)
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
144 145 146 147 148 149]
Vamos criar um outro dataframe listar as suas colunas porém agora vamos usar o método info().
dfCarros=pd.DataFrame([
['Gol','Volksvagen'],
['Golf','Volksvagen'],
['Voyage','Volksvagen'],
['Jetta','Volksvagen'],
['Ford Ka','Ford'],
['Uno Mile','Fiat'],
['Argo','Fiat'],
['Sandero','Renault'],
['Duster','Renault'],
['Fusca',np.nan]
],
columns=['Modelo','Marca'])
Após a sua criação basta executar o comando abaixo para retornar a estrutura do dataframe.
dfCarros.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10 entries, 0 to 9
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Modelo 10 non-null object
1 Marca 9 non-null object
dtypes: object(2)
memory usage: 288.0+ bytes
Simples assim meu amigo!
Agora com esse pequeno e grandioso conteúdo, você passou a ser capaz de destrinchar a estrutura de um dataframe, o que tenho certeza que será extremamente grandioso e enriquecedor para o seu trabalho.
Espero que tenha gostado, aguardo você no nosso próximo post!
Grande abraço!
Comments