As 5 principais funções do Pandas essenciais para cientistas de dados [2022]

Publicados: 2021-01-02

O Pandas é claramente uma das bibliotecas mais usadas e amadas quando se trata de Ciência de Dados e Análise de Dados com Python. O que o torna especial? Neste tutorial, abordaremos 5 dessas funções que tornam o Pandas uma ferramenta extremamente útil no kit de ferramentas de um Cientista de Dados.

Ao final deste tutorial, você terá o conhecimento das funções abaixo no Pandas e como usá-las para seus aplicativos:

  • valor_contagens
  • agrupar
  • loc e ilo
  • único e único
  • Corte e qcorte

Índice

Principais funções do Pandas para cientistas de dados

1. valor_contagens()

A função value_counts() do Pandas é usada para mostrar as contagens de todos os elementos exclusivos nas colunas de um dataframe.

Dica profissional: Para demonstrar, usarei o conjunto de dados do Titanic.

Agora, para encontrar as contagens de classes no recurso Embarcado, podemos chamar a função value_counts:

train[ 'Embarcado' ].value_counts()

#Saída:
S 644
C 168
Q 77

Além disso, se esses números não fizerem muito sentido, você poderá visualizar suas porcentagens:

train[ 'Embarcado' ].value_counts(normalize= True )

#Saída:
S 0,724409
C 0,188976
Q 0,086614

Além disso, value_counts não considera o NaN ou os valores ausentes por padrão, o que é muito essencial para verificar. Para fazer isso, você pode definir o parâmetro dropna como false.

train[ 'Embarcado' ].value_counts(dropna= False )

#Saída:
S 644
C 168
Q 77
NaN2 _

2. group_by()

Com o Pandas group_by, podemos dividir e agrupar nosso dataframe por determinadas colunas para poder visualizar padrões e detalhes nos dados. Group_by envolve 3 etapas principais: dividir, aplicar e combinar.

train.groupby( 'Sexo' ).mean()

Saída:

Como você vê, agrupamos o quadro de dados pelo recurso 'sexo' e agregamos usando os meios.

Você também pode plotá-lo usando a visualização integrada do Pandas:

df.groupby( 'Sex' ).sum().plot(kind= 'bar' )

Também podemos agrupar usando vários recursos para uma divisão hierárquica.

df.groupby([ 'Sex' , 'Sobreviveu' ] )[ 'Sobreviveu' ].count()

Deve ler: Perguntas de entrevista de pandas

3. loc e iloc

A indexação no Pandas é uma das operações mais básicas e a melhor maneira de fazer isso é usando loc ou iloc. “Loc” significa localização e “i” significa localização indexada. Em outras palavras, quando você deseja indexar um dataframe usando nomes ou rótulos de colunas/linhas, você usaria loc. E quando você quiser indexar colunas ou linhas usando as posições, use a função iloc. Vamos verificar loc primeiro.

train.loc[ 2 , 'sexo' ]

A operação acima nos dá o elemento de índice de linha 2 e coluna 'sexo'. Da mesma forma, se você precisasse de todos os valores da coluna de sexo, faria:

train.loc[:, 'sexo' ]

Além disso, você pode filtrar várias colunas como:

train.loc[:, 'sexo' , 'Embarcou' ]

Você também pode filtrar usando condições booleanas dentro do loc como:

train.loc[train.age >= 25 ]


Para visualizar apenas determinadas linhas, você pode dividir o dataframe usando loc:

train.loc[ 100 : 200 ]

Além disso, você pode dividir o dataframe no eixo da coluna como:

train.loc[:, 'sexo' : 'tarifa' ]

A operação acima cortará o dataframe da coluna 'sex' para 'fare' para todas as linhas.

Agora, vamos para o iloc. iloc apenas indexa usando números de índice ou as posições. Você pode fatiar dataframes como:

train.iloc[ 100 : 200 , 2 : 9 ]


As operações acima dividirão as linhas de 100 a 199 e as colunas de 2 a 8. Da mesma forma, se quiser dividir seus dados horizontalmente, você pode fazer:

train.iloc[: 300 , :]

4. unique() e nunique()

Pandas unique é usado para obter todos os valores exclusivos de qualquer recurso. Isso é usado principalmente para obter as categorias em recursos categóricos nos dados. Unique mostra todos os valores exclusivos, incluindo NaNs. Ele o trata como um valor único diferente. Vamos dar uma olhada:

train[ 'sexo' ].unique()

#Saída:
[ 'feminino' , 'masculino' ]

Como vemos, isso nos dá os valores únicos no recurso 'sexo'.

Da mesma forma, você também pode verificar o número de valores exclusivos, pois pode haver muitos valores exclusivos em alguns recursos.

train[ 'sexo' ].nunique()

#Saída:
2

No entanto, você deve ter em mente que nunique() não considera NaNs como valores exclusivos. Se houver algum NaNs em seus dados, você precisará passar o parâmetro dropna como False para garantir que o Pandas forneça a contagem, incluindo os NaNs também.

train[ 'sexo' ].nunique(dropna= False )

#Saída:
3

5. cut() e qcut()

O corte de pandas é usado para agrupar valores em intervalos para discretizar os recursos. Vamos mergulhar nele. Binning significa converter um recurso numérico ou contínuo em um conjunto discreto de valores, com base nos intervalos dos valores contínuos. Isso é útil quando você deseja ver as tendências com base em qual intervalo o ponto de dados se enquadra.

Vamos entender isso com um pequeno exemplo.

Suponha que temos notas para 7 crianças que variam de 0 a 100. Agora, podemos atribuir as notas de cada criança a uma “caixa” específica.

df = pd.Dataframe(data= {
'Nome' : [ 'Ck' , 'Ron' , 'Mat' , 'Josh' , 'Tim' , 'SypherPK' , 'Dew' , 'Vin' ],
'Marcas' : [ 37 , 91 , 66 , 42 , 99 , 81 , 45, 71 ]
})

df[ 'marks_bin' ] = pd.cut(df[ 'Marks' ], bins=[ 0 , 50 , 70 , 100 ], labels=[ 1 , 2 , 3 ])

Em seguida, podemos apenas anexar a saída como um novo recurso, e o recurso Marcas pode ser descartado. O novo dataframe se parece com:

#Saída:
Marcas de nome marks_bin
0K 37 _ 1
1 Ron 91 3
2 Esteira 66 2
3 Js 42 1
4 Tim 99 3
5 SypherPK 81 3
6 Orvalho 45 1
7 Vin 71 3

Então, quando eu digo bins = [ 0 , 50 , 70 , 100 ] , significa que existem 3 intervalos:

0 a 50 para o compartimento 1,

51 a 70 para o compartimento 2 e

71 a 100 pertencentes ao compartimento 3.

Então, agora nosso recurso não contém as notas, mas o intervalo ou a caixa para a qual estão as notas desse aluno.

Semelhante ao cut(), o Pandas também oferece sua função irmã chamada qcut() . O Pandas qcut recebe o número de quantis e divide os pontos de dados para cada compartimento com base na distribuição de dados. Então, podemos apenas alterar a função de corte acima para qcut:

df[ 'marks_bin' ] = pd.qcut(df[ 'Marks' ], q= 3 , labels=[ 1 , 2 , 3 ])

Na operação acima, dizemos ao Pandas para cortar o recurso em 3 partes iguais e atribuir-lhes os rótulos. A saída vem como:

Marcas de nome marks_bin
0K 37 _ 1
1 Ron 91 3
2 Esteira 66 2
3 Js 42 1
4 Tim 99 3
5 SypherPK 81 3
6 Orvalho 45 1
7 Vin 71 2

Observe como o último valor mudou de 3 para 2.

Leia também: Pandas Dataframe Astype

Antes de você ir

Vimos algumas funções do Pandas mais usadas. Mas estes não são os únicos que são importantes e nós encorajamos você a aprender mais sobre as funções mais usadas do Pandas. Esta é uma abordagem boa e eficiente, pois você pode não estar usando todas as funções que o Pandas possui, mas apenas algumas delas.

Aprenda cursos de ciência de dados das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Por que a biblioteca Pandas é tão popular?

Esta biblioteca é bastante popular entre cientistas de dados e analistas de dados. A razão para isso é seu grande suporte a um grande número de formatos de arquivo e uma rica coleção de recursos para manipular os dados extraídos. Ele pode se integrar facilmente a outras bibliotecas e pacotes, como o NumPy.

Esta poderosa biblioteca fornece várias funções úteis para manipular grandes conjuntos de dados de maneira flexível. Depois de dominá-lo, você pode facilmente realizar grandes tarefas com algumas linhas de código.

O que é a função de mesclagem e por que ela é usada?

A função de mesclagem é uma função especial do quadro de dados do Pandas que é usada para mesclar várias linhas ou colunas de 2 quadros de dados. É uma operação de junção de alta memória e se assemelha a bancos de dados relacionais. Você pode usar on = Column Name para mesclar quadros de dados na coluna comum.

Você pode atualizar left_on = Column Name ou right_on = Column Name para alinhar tabelas usando colunas do quadro de dados esquerdo ou direito como chaves.

Além da biblioteca Pandas, quais são as outras bibliotecas Python para ciência de dados?

Além da biblioteca Pandas, existem várias bibliotecas Python que são consideradas algumas das melhores bibliotecas para ciência de dados. Isso inclui PySpark, TensorFlow, Matplotlib, Scikit Learn, SciPy e muito mais. Cada um deles é amplamente utilizado por suas características e funções únicas e surpreendentes.

Cada biblioteca tem seu próprio significado, como o SciKit Learn é usado com mais frequência quando você precisa lidar com dados estatísticos. Além de analisar os dados, você também pode criar dashboards e relatórios visuais usando as funções fornecidas por essas bibliotecas incríveis.