Dominando Pandas: Funções importantes do Pandas para seu próximo projeto
Publicados: 2020-11-30A biblioteca Pandas tem sido a favorita de todos os Cientistas de Dados ou analistas devido à sua natureza fácil de usar, ampla variedade de funcionalidades e melhor interpretação dos resultados. Qualquer indivíduo que esteja iniciando sua jornada de Data Science é aconselhado a ter um bom domínio sobre os pandas, criar pipelines para reduzir o esforço manual de limpeza e pré-processamento dos dados.
O Pandas é construído sobre o Numpy, o que permite a execução mais rápida de comandos e a execução do trabalho em menos tempo. Neste artigo, compartilharemos algumas funções de pandas subestimadas que podem enriquecer a qualidade do código do seu projeto.
Antes de prosseguir, aqui está uma legenda rápida:
- Todos os comandos mencionados assumem que o quadro de dados é nomeado como 'df' que é um objeto de pd.DataFrame()
- A biblioteca Pandas foi importada como um alias como 'pd'.
Índice
Acessadores de String
Dados de string ou texto contribuem em grande parte para um conjunto de dados. Sejam informações relacionadas ao autor, título, publicação de um livro ou tweets feitos para uma hashtag específica, temos muitos dados de texto e esses dados são úteis quando limpos adequadamente e alimentados em qualquer classificador como Naive Bayes, etc. . Aqui estão alguns truques que você pode aplicar:
- Para acessar os dados do tipo string, use o acessador 'str'. Por exemplo, df['column_name'].str
- Isso torna possível fazer todas as operações de string na coluna selecionada.
- Algumas operações comuns incluem,
- df['column_name'].str.len(): comprimento de cada string
- .str.split(): Dividindo em um caractere específico
- .str.contains(): Retorna T/F sobre se a palavra específica está presente na string
- .str.count(): Retorna a contagem de linhas que satisfazem a expressão regular passada.
- .str.findall(): Retorna os resultados que correspondem à expressão passada.
- .str.replace(): O mesmo que findall, mas aqui ocorre a substituição de itens correspondentes
- Todas as operações de string como .title, .isalpha, .isalnum, .isdecimal etc são suportadas.
Leia também: Pandas Dataframe Astype
Acessadores de data e hora
Datas e horas geralmente estão presentes em conjuntos de dados na forma de carimbos de data/hora, hora de início, hora de término ou qualquer outro tempo associado a esse evento. É útil analisar esses dados corretamente, pois fornece tendências ao longo de uma linha do tempo que pode ser colocada para prever eventos futuros ou chamamos de citá-los como análise de séries temporais. Vamos ver alguns comandos úteis:
- Para acessar os dados DateTime, converta o tipo de dados atual (os valores de data são analisados como string ou objeto) para DateTime usando a função pd.to_datetime().
- Agora, usando o acessador '.dt', podemos acessar qualquer informação de DateTime necessária, como:
- df['column_name'].dt.day: Retorna o dia da data.
- .dt.time: Hora
- .dt.year: Ano da data
- .dt.month: Mês da data
- .dt.weekday: Se for domingo, segunda-feira… na forma numérica onde 0 representa segunda-feira. Se você quiser nomes de dias, use .dt.day_name
- .dt.is_month_start: Retorna T/F dependendo se a data é a primeira do mês.
- .dt.is_month_end Mesma funcionalidade que month_start mas aqui a última data do mês é verificada.
- .dt.quater: Retorna em qual trimestre a data está
- .dt.is_quater_start: Retorna T/F se a data for o primeiro dia do trimestre
- .dt.is_quater_end: se é o último dia do trimestre
- .dt.normalize: Quando o componente de tempo não agrega uma contribuição valiosa à análise, pode ser ignorado. Este comando arredonda a hora para meia-noite, ou seja, 00:00:00.
Plotagem de pandas
A plotagem de visualizações é um dos principais componentes da Análise de Dados e desempenha um papel importante durante a execução da engenharia de recursos. Por exemplo, os outliers em um conjunto de dados podem ser detectados usando gráficos de caixa que representam a mediana e o intervalo interquartil, deixando os outliers nas extremidades.

A plotagem é feita principalmente por meio de outras bibliotecas, como seaborn, plotly, bokeh, matplotlib, mas quando você deseja visualizar dados instantaneamente sem definir explicitamente as bibliotecas? Pandas tem a solução. Usando a função pd.plot(), você pode plotar diretamente gráficos que são invocados internamente usando matplotlib. Várias opções disponíveis para isso:
- df.plot() ou df['column_name'].plot() (dependendo do tipo de gráfico)
- df.plot() tem o parâmetro 'kind' que define o gráfico. Por padrão, é um gráfico de 'linha', mas outras opções disponíveis são 'bar', 'barh', 'box', 'hist', 'kde' etc.
- Ele invoca o backend matplotlib, o que significa que podemos acessar seus argumentos por meio de um acessador 'ax'.
- A função .plot() também pode receber argumentos como 'title', 'xticks', 'xlim', 'xlabel', 'fontsize', 'colormap' que elimina a necessidade de definir bibliotecas externas até certo ponto.
Funções Diversas
- pd.get_dummies(): Durante o pré-processamento de dados, às vezes nos deparamos com dados categóricos que precisam ser convertidos em formato numérico para serem alimentados no modelo. Quando essas categorias são bastante baixas, a codificação one-hot é preferida, mas fazer isso manualmente leva. Esta função de dummies não só transforma os valores, mas, se drop_first for definido como True, descarta a coluna anterior contendo todas as categorias.
- df.query(): É a função que permite aplicar a máscara condicional sobre o data frame. A diferença básica entre isso e o mascaramento normal é que essa função retorna diretamente os valores em vez da máscara booleana, reduzindo o esforço de criar a máscara e aplicá-la ao quadro de dados.
- df.select_dtypes(): Às vezes precisamos realizar algumas tarefas específicas em um tipo de dado. Por exemplo, ao ler dados de arquivos externos, alguns tipos de dados são definidos como objetos. Ao limpar os dados, o conjunto de dados deve ter todos os tipos de dados corretos, e fazê-lo manualmente por df.astype('data-type') seria tedioso quando o número desses tipos de dados é grande. Esta função seleciona o tipo de dados especificado e pode ser combinada com a função .apply(). Um código de exemplo ficaria assim:
df.select_dtypes(object).apply(astype(str))
Deve ler: Perguntas de entrevista de pandas
Conclusão
Essa atribuição é chamada de encadeamento e é muito comum ao realizar tarefas de ciência de dados para reduzir o esforço de definir variáveis para cada etapa a ser executada.
Se você está curioso para aprender sobre o Pandas, confira o PG Diploma in Data Science do IIIT-B & upGrad, que é criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1-on -1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.