Código Rápido para Análise de Dados #01
Diante da tabela:
| Cidade | Categoria | 2022 | 2023 | 2024 |
|------------|-----------|------|------|------|
| Boa Vista | A | 320 | 250 | 300 |
| Iracema | B | 100 | 50 | 75 |
| Amajari | A | 50 | 300 | 100 |
Qual foi o maior repasse no ano de 2023 entre as cidades da Categoria A?
# Entrada - Python
import pandas as pd
dados = {
'Cidade': ['Boa Vista', 'Iracema', 'Amajari'],
'Categoria': ['A', 'B', 'A'],
'2022': [320, 100, 50],
'2023': [250, 50, 300],
'2024': [300, 75, 100]
}
df = pd.DataFrame(dados, columns=['Cidade','Categoria','2022', '2023','2024'])
print(df.groupby('Categoria')[['2022', '2023','2024']].max().iloc[0,1])
# Saída
300
# Código Comentado
import pandas as pd
# <1> Importa a biblioteca pandas como ‘pd’ para análise de dados tabulares
dados = {
'Cidade': ['Boa Vista', 'Iracema', 'Amajari'],
'Categoria': ['A', 'B', 'A'],
'2022': [320, 100, 50],
'2023': [250, 50, 300],
'2024': [300, 75, 100]
}
# <2> Cria o dicionário ‘dados’ com as chaves ‘cidade’, ‘categoria’, ‘2022’, ‘2023’ e ‘2024’ e seus respectivos valores
df = pd.DataFrame(dados, columns=['Cidade','Categoria','2022', '2023','2024'])
# <3> Cria um DataFrame (tabela) com os dados, especificando a ordem das colunas
print(df.groupby('Categoria')[['2022','2023','2024']].max().iloc[0,1]))
# <4> O groupby('Categoria').max() agrupa por categoria e, para cada grupo, seleciona o maior valor por coluna (por ano):
# Categoria A: Cidades = Boa Vista, Amajari
# 2022: max(320, 50) = 320
# 2023: max(250, 300) = 300
# 2024: max(300, 100) = 300
# Categoria B: Cidades = Iracema
# 2022: 100
# 2023: 50
# 2024: 75
# * O indexador iloc (de integer location) busca a primeira linha do resultado (0, categoria 'A') e o segundo valor (1, coluna '2023')
# Categoria | 2022 | 2023 | 2024
# A | 320 | 300 |300
# B | 100 | 50 | 75
Fonte: Código extraído de questões de concursos.