10 recursos para acelerar a análise de dados em Python

Fonte

Dicas e truques, especialmente em programação, podem ser muito úteis. Um pequeno shotcat, addon ou hack pode economizar uma tonelada de tempo e aumentar drasticamente a produtividade. Reuni os meus favoritos e fiz este artigo com eles. Algumas das dicas abaixo já são conhecidas por muitos e outras apareceram recentemente. De uma maneira ou de outra, tenho certeza de que elas certamente não serão supérfluas quando você voltar a iniciar um projeto de análise de dados.


1. Criando perfil do Dataframe do Pandas


A criação de perfil ajuda a entender melhor nossos dados, e o pacote Pandas Profiling foi criado apenas para isso. A biblioteca fornecerá uma oportunidade para executar de maneira fácil e rápida a análise exploratória do Dataframe do Pandas. Normalmente, nesses casos, as funções df.describe () e df.info () são usadas como a primeira etapa, mas elas relatam pouco e se saem mal com grandes conjuntos de dados. Uma linha de código usando o Pandas Profiling , por outro lado, produzirá muitas informações em um relatório HTML interativo.


Aqui está o que é calculado para um determinado conjunto de dados:


Estatísticas produzidas pelo Pandas Profiling.

Instalação


pip install pandas-profiling  conda install -c anaconda pandas-profiling 

Use


Vamos usar o conjunto de dados do Titanic Passenger para mostrar o criador de perfil.


 #    import pandas as pd import pandas_profiling 

 df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df) 

É tudo o que você precisa para exibir resultados de criação de perfil. O relatório está cheio de detalhes, incluindo, quando apropriado, gráficos.



O relatório pode ser exportado para um arquivo HTML interativo :


 profile = pandas_profiling.ProfileReport(df) profile.to_file(outputfile="Titanic data profiling.html") 


Clique aqui para assistir ao vivo.


( pasta com exemplos - aprox. tradução)




2. Tornando os gráficos do Pandas interativos


A classe DataFrame no Pandas possui uma função .plot () interna . No entanto, a visualização criada com sua ajuda não é interativa, o que eu gostaria de melhorar. Por outro lado, também não quero recusar a simplicidade de usar a função. E se pudéssemos tornar os gráficos do Pandas interativos sem realmente fazer alterações no código? É exatamente isso que é possível com a biblioteca de botões de punho .


Abotoaduras conectam a força da plotagem à flexibilidade do Pandas para gráficos interativos. Vamos ver como você pode instalar a biblioteca e fazê-la funcionar com o Pandas .


Instalação


 pip install plotly # Plotly     Cufflinks pip install cufflinks 

Use


 #  Pandas import pandas as pd # plotly  cufflinks    import cufflinks as cf 

 import plotly.offline cf.go_offline() cf.set_config_file(offline=False, world_readable=True) 

Hora de ver toda a potência do instrumento nos dados dos passageiros do Titanic.


 df.iplot() 

df.plot () comparado a df.iplot ()

A visualização inferior mostra um diagrama estático, enquanto o diagrama superior é interativo e mais detalhado, tudo sem alterações significativas na sintaxe.


Aqui você pode ver mais exemplos.




3. Um pouco de mágica


Os comandos mágicos são um conjunto de funções convenientes nos laptops Jupyter projetados para resolver tarefas comuns da análise de dados padrão. Você pode ver todos os recursos disponíveis com % lsmagic .


Lista de todas as funções "mágicas" disponíveis

Existem dois tipos de comandos mágicos: magias de linha , que começam com uma única % e funcionam na mesma linha; e magias de células , que estão associadas ao dobro %% e funcionam em várias linhas.


Vejamos aqueles que são úteis nas tarefas gerais de análise de dados:


  • % pastebin

% pastebin carrega o código no Pastebin e retorna o URL. Pastebin é um site onde podemos salvar texto sem formatação, por exemplo, um fragmento do código-fonte, para depois transmitir o link para outras pessoas. De fato, o GitHub Gist é semelhante ao Pastebin, embora com controle de versão.


Considere o seguinte script:


 # file.py def foo(x): return x 

O uso de % pastebin em um Notebook Jupyter criará um URL no Pastebin.



  • Caderno% matplotlib

O comando% matplotlib inline é usado para visualizar gráficos estáticos matplotlib em um Notebook Jupyter. Substitua o notebook embutido para obter gráficos escaláveis ​​e mutáveis. Apenas verifique se o comando foi adicionado antes de importar o matplotlib .


% matplotlib inline em comparação com % matplotlib notebook
  • % de execução

O comando % run executa o script dentro do Jupyter Notebook.


 %run file.py 

  • %% writefile

%% writefile grava o conteúdo de uma célula em um arquivo. O código abaixo será gravado em um arquivo chamado foo.py e salvo no diretório atual.



  • %% látex

A função %% latex exibe o conteúdo da célula como LaTeX. Isso é útil para escrever fórmulas e equações matemáticas em uma célula.





4. Solução de problemas


O depurador interativo também é uma equipe mágica, mas eu dei minha própria categoria. Se ocorrer uma exceção ao iniciar a célula com o código, insira o comando % debug em uma nova linha e execute-o. Um ambiente de depuração interativa é aberto, mostrando o local em que a exceção ocorreu. Você pode verificar os valores das variáveis ​​e executar várias operações. Para sair do depurador, pressione q .





5. A conclusão pode ser linda


Se você deseja que suas estruturas de dados sejam exibidas lindamente, então pprint é sua escolha. Isso é especialmente útil ao imprimir dicionários ou dados JSON. Vejamos o código que usa impressão e impressão para saída.





6. Notas de destaque


Podemos usar alertas em nossos cadernos Jupyter para destacar algo importante. A cor dependerá do tipo de alerta. Basta adicionar um ou todos os seguintes códigos à célula que você deseja destacar.


  • Alerta azul: informações

 <div class="alert alert-block alert-info"> <b>Tip:</b> Use blue boxes (alert-info) for tips and notes. If it's a note, you don't have to include the word “Note”. </div> 


  • Alerta amarelo: Aviso

 <div class="alert alert-block alert-warning"> <b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas. </div> 


  • Alerta verde: Sucesso

 <div class="alert alert-block alert-success"> Use green box only when necessary like to display links to related content. </div> 


  • Alerta vermelho: perigo

 <div class="alert alert-block alert-danger"> It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. </div> 




7. Imprima cada saída em uma célula


Considere uma célula do Jupyter Notebook contendo este código:


 In [1]: 10+5 11+6 

 Out [1]: 17 

Esta é uma propriedade normal da célula que somente a última saída é impressa e, para outras, precisamos adicionar a função print () . Bem, acontece que podemos imprimir todas as conclusões adicionando o seguinte fragmento de cima:


 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" 

Agora todas as conclusões são impressas uma após a outra.


 In [1]: 10+5 11+6 12+7 

 Out [1]: 15 Out [1]: 17 Out [1]: 19 

Para retornar à configuração inicial:


 InteractiveShell.ast_node_interactivity = "last_expr" 



8. Executando scripts Python com a opção -i.


Uma maneira típica de executar um script Python a partir da linha de comando é: python hello.py . No entanto, se você adicionar o parâmetro - i, ou seja, chame python -i hello.py, você obterá muito mais. Vamos ver o que exatamente.


  • Primeiro, quando o final do programa é alcançado, o Python não sai mais do intérprete. Assim, podemos verificar os valores das variáveis ​​e a correção das funções definidas em nosso programa.


  • Em segundo lugar, como ainda estamos no intérprete, podemos facilmente chamar o depurador python:

 import pdb pdb.pm() 

Isso nos levará ao local em que a exceção ocorreu e podemos continuar trabalhando no código.


A fonte original de recursos.




9. Comentário automático de código (ras)


Ctrl / Cmd + / comenta automaticamente as linhas selecionadas na célula. Pressionar a combinação novamente removerá o comentário das mesmas linhas.


(A propósito, isso é verdade para outros editores como Pycharm ou Sublime Text - aprox. Transl.)





10. Cancelamento de ações aleatórias


Você já excluiu acidentalmente uma célula do Jupyter Notebook? Nesse caso, aqui estão os shotcats que cancelarão esta ação.


  • Caso você tenha excluído o conteúdo dentro da célula, você pode restaurá-lo facilmente pressionando CTRL / CMD + Z
  • Se você precisar restaurar a própria célula excluída - ESC + Z ou EDIT> Undo Delete Cells




Conclusão


Neste artigo, listei as dicas básicas que me ajudam ao trabalhar com os blocos de anotações Python e Jupyter. Espero que eles também o ajudem. Feliz codificação!

Source: https://habr.com/ru/post/pt457302/


All Articles