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!





















34 visualizações0 comentário

Posts recentes

Ver tudo
bottom of page