segunda-feira, 10 de agosto de 2020

Selecionando o menor dos maiores

Photo by Jon Tang on Unsplash

O que vamos fazer nesse tutorial é parecido com as manchetes de noticias cativantes, como das cem melhores universidades, estas cinco tem a menor nota de corte ou dos cinquenta melhores países para morar, estes três são os mais fáceis de conseguir visto.
Uma coisa comum na analise de dados é agrupar dados e depois fazer uma busca nesse grupo. Imagine que você precisar dos n-maiores valores de uma colunas e depois selecionar os n-menores valores desse grupo que você acabou de selecionar.
Nesse tutorial vamos selecionar um grupo de dados e depois selecionar outro grupo de dados a partir dos dados selecionados na primeira seleção. Esse tipo de seleção é utilizado para refinar os resultados. Como analisar gigabytes de dados não é uma tarefa fácil devemos diminuir as variáveis no processo de analise de dados.

Como selecionar o menor dos maiores com pandas

Nesse exemplo vamos obter os cinco animes com o menor rank entre os cem animes com os maiores score. O dataset que vamos usar pode ser obtido aqui.

>>> import pandas as pd
>>> anime = pd.read_csv('animelist.csv')
>>> anime = anime[['title', 'score', 'rank']]
>>> anime.nlargest(100, 'score').nsmallest(5, 'rank')
                                 title  score  rank
2555  Fullmetal Alchemist: Brotherhood   9.25   1.0
1028                    Kimi no Na wa.   9.19   2.0
1252                          Gintama°   9.15   3.0
6177                     Steins;Gate 0   9.15   4.0
2999                       Steins;Gate   9.14   5.0

Como funciona...

Primeiro selecionamos as colunas que nos interessa: title, score e rank. Depois selecionamos as cem linhas com o score mais alto, em seguida selecionamos as cinco linhas com o rank mais baixo. Desse jeito selecionamos os cinco animes com menor rank entre os cem animes com o maior score.

Referência:
Método nlargest()
Método nnsmallest()

0 comentários:

Postar um comentário