Pandas: Notas Fundamantais
Operações Essenciais
Criando um DataFrame
def construirDataFrame(dados_alunos: List[List[int]]) -> pd.DataFrame:
nomes_colunas = ["id_estudante", "idade"] # Nomes das colunas
dataframe_resultante = pd.DataFrame(dados_alunos, columns=nomes_colunas)
return dataframe_resultante
Verificando dimensões do DataFrame
shape[0] indica o número de linhas, shape[1] indica o número de colunas
def obterTamanhoDataFrame(atletas: pd.DataFrame) -> List[int]:
return [atletas.shape[0], atletas.shape[1]]
Selecionando as primeiras n linhas
def selecionarPrimeirasLinhas(funcionarios: pd.DataFrame) -> pd.DataFrame:
return funcionarios.head(3)
Filtrando linhas específicas
loc[] seleciona com base nos rótulos (parâmetro 1: condição, parâmetro 2: colunas desejadas), iloc[] seleciona com base nos índices numéricos
def filtrarDados(estudantes: pd.DataFrame) -> pd.DataFrame:
return estudantes.loc[estudantes["id_estudante"]==101, ["nome", "idade"]]
Alterando valores de coluna
def dobrarSalarios(funcionarios: pd.DataFrame) -> pd.DataFrame:
funcionarios['salario'] *= 2
return funcionarios
Adicionando nova coluna
def adicionarBonus(funcionarios: pd.DataFrame) -> pd.DataFrame:
funcionarios['bonus']=funcionarios['salario']*2
return funcionarios
Removendo duplicatas
A função drop_duplicates possui os seguintes parâmetros:
subset: Identifica as colunas a serem consideradas para detecção de duplicatas. Se não especificado, todass as colunas são consideradas.
keep: Determina quais duplicatas manter: 'first': (padrão) Mantém a primeira ocorrência e remove as demais. 'last': Mantém a última ocorrência e remove as demais. False: Remove todas as duplicatas.
inplace: Se True, modifica o DataFrame original. Se False (padrão), retorna um novo DataFrame.
def removerEmailsDuplicados(clientes: pd.DataFrame) -> pd.DataFrame:
clientes.drop_duplicates(subset="email", keep="first", inplace=True)
return clientes
def removerEmailsDuplicados(clientes: pd.DataFrame) -> pd.DataFrame:
return clientes.drop_duplicates(subset="email", keep="first")
Eliminando dados ausentes
A função dropna possui os seguintes parâmetros:
axis: Pode ser {0 ou 'index', 1 ou 'columns'}. Padrão é 0. axis=0: Remove linhas com valores ausentes. axis=1: Remove colunas com valores ausentes.
how: Determina quando remover linhas ou colunas: how='any': Remove se houver qualquer valor ausente (padrão). how='all': Remove apenas se todos os valores forem ausentes.
thresh: Número mínimo de valores não ausentes necessários para manter uma linha/coluna.
subset: Colunas a serem consideradas ao remover linhas com valores ausentes.
inplace: Se True, modifica o DataFrame original. Se False (padrão), retorna um novo DataFrame.
def removerDadosFaltantes(estudantes: pd.DataFrame) -> pd.DataFrame:
return estudantes.dropna(axis=0, how='any', subset=["nome"])