top of page
  • Foto do escritorGabriel Quintella

Python com Pandas, Métodos Unique(), Drop_Duplicates(), Sort_Values() e Sorted()


Fala meu amigo, tudo bem com você? Que bom encontrar com você novamente em mais um capitulo dos nossos estudos de Python.


No post de hoje contaremos com a participação especial da dupla dinâmica Python e Pandas e do quarteto fantástico Unique(), Drop_Duplicates(), Sort_Value() e Sorted(). Confesso para você, vai ser muito irado e tenho certeza que você vai gostar!


E pra não perder o costume, no final, deixo os links de referência para a documentação oficial de cada um deles.





Meu objetivo principal, é trazer para você o conhecimento de como podemos obter valores únicos com Pandas utilizando os métodos unique() e drop_duplicates() e como conseguimos ordenar um DataFrame usando os métodos sorted() e sort_values().






Após essa explanação, vamos iniciar pelo método Unique().


Esse método é usando quando pretendemos retornar valores únicos ou distintos para uma coluna de um dataframe, muito parecido com o DISTINCT do Microsoft SQL Server.


Para melhorar a explicação, vamos iniciar pela criação de um dataframe para simular a sua aplicabilidade.


dfCarros=pd.DataFrame([
['Gol','Volksvagen'],
['Golf','Volksvagen'],
['Voyage','Volksvagen'],
['Jetta','Volksvagen'],
['Ford Ka','Ford'],
['Uno Mile','Fiat'],
['Argo','São Paulo'],
['Sandero','Renault'],
['Duster','Renault']
], 
columns=['Modelo','Marca'])

Concluída a criação do dataframe dfCarros, ficamos com o seguinte resultado.



Em nosso primeiro exemplo, recebemos uma missão da área de negócio da nossa empresa XPTO. Disponibilizar um relatório que tenha a lista de todas as marcas de carros que da empresa. Acompanhe comigo como seria esse script!


list(dfCarros['Marca'].unique())


Muito simples né! Agora vamos abordar uma outra forma de realizar esse DISTINCT. Nesse momento vamos falar sobre o método Drop_Duplicates().


Esse método é bem parecido com o Unique(), mais vamos com calma pois existem grandes diferenças. Vamos analisá-las juntos!


O método unique() realiza uma apresentação distinta dos valores de uma coluna e não modifica o dataframe já o método drop_duplicates() realizar a mesma operação porém permite que a alteração no dataframe seja persistida.


E por último antes de ir para os códigos, o método drop_duplicate() permite a utilização de 3 tipos de argumentos em conjunto com o método. São eles "False", "first" e "last". Vamos destrincha-los melhor.


Usarei o mesmo dataframe "dfCarros" nesse exemplo. Após a criação, vamos criar um outro dataframe somente com informações de marca.


# Criação DataFrame somente com informações de Marca
dfCarrosMarca = dfCarros['Marca']


Feito isso, vamos aplicar o método e analisar o retorno (informações na imagem a seguir).


dfCarrosMarca.drop_duplicates()

Como resultado, observe que apenas uma linha de cada marca foi retornada.



E conforme citado anteriormente, podemos aplicar o método drop_duplicantes() passando 3 argumentos diferentes.


  1. False - Apaga todos os registros duplicados, ficando no dataframe apenas os registros que não estão duplicados;

  2. first - Retorna apenas um registro para cada valor duplicado, onde esse registro é correspondente a primeira ocorrência do índice;

  3. last - Possui o mesmo comportamento do first, porém ele retorna o último registro correspondente ao índice.


A aplicação do first e do last deverá obedecer a seguinte regra.


dfCarrosMarca.drop_duplicates(keep='first')
dfCarrosMarca.drop_duplicates(keep='last')

Deve ser escrito em minúsculo e estar entre de aspas simples.


O argumento False, não precisa estar entre aspas simples e deve ser escrito com a primeira letra maiúscula.


dfCarrosMarca.drop_duplicates(keep=False)

Os argumentos False, first e last quando combinados com o argumento "inplace=True", significa que a alteração deve ser persistida no dataframe, ou seja, os dados são alterados definitivamente.


dfCarrosMarca.drop_duplicates(keep=False, inplace=True)
dfCarrosMarca.drop_duplicates(keep='last',inplace=True)
dfCarrosMarca.drop_duplicates(keep='first',inplace=True)

Agora por último, vamos falar sobre o método Sort_values(). Esse método serve para realizar a ordenação de uma coluna do dataframe. Observe abaixo.


dfCarros.sort_values(by=['Marca','Modelo'])


Para realizar a ordenação decrescente, basta acrescentar o argumento "ascending=False".


dfCarros.sort_values(by=['Marca','Modelo'],ascending=False)


E quando falamos de ordenação, não podemos deixar de falar do método sort(). Esse método foi descontinuado, sendo substituído pelo método sort_values(). Deixo o link abaixo para alguma consulta.


Concluímos aqui nosso post e acredito que o principal objetivo foi concluído. Apresentamos outras três forma de manipulação de dados, espero que tenham gostado, espero você no próximo!





















30 visualizações0 comentário

Posts recentes

Ver tudo

Comments


bottom of page