PyGWalker
Uma Biblioteca Python para Análise Exploratória de Dados com Visualização - PyGWalker
O PyGWalker pode simplificar seu fluxo de trabalho de análise de dados e visualização de dados no Jupyter Notebook, transformando seu dataframe do pandas em uma interface de usuário interativa para exploração visual.
O PyGWalker (pronunciado como "Pig Walker", apenas por diversão) é nomeado como uma abreviação de "Python Graphic Walker". Ele integra o Jupyter Notebook com o Graphic Walker (opens in a new tab), uma alternativa de código aberto ao Tableau. Isso permite que cientistas de dados visualizem / limpem / anotem os dados com operações simples de arrastar e soltar e até mesmo consultas em linguagem natural.
Visite o Google Colab (opens in a new tab), Kaggle Code (opens in a new tab) ou Demo Online do Graphic Walker (opens in a new tab) para testá-lo!
Se você prefere usar R, confira o GWalkR (opens in a new tab), o wrapper R do Graphic Walker.
Começando
Execute no Kaggle (opens in a new tab) | Execute no Colab (opens in a new tab) |
---|---|
(opens in a new tab) | (opens in a new tab) |
Configurando o pygwalker
Antes de usar o pygwalker, certifique-se de instalar os pacotes via linha de comando usando pip ou conda.
pip
pip install pygwalker
Observação
Para um teste inicial, você pode instalar com
pip install pygwalker --upgrade
para manter sua versão atualizada com o último lançamento ou atépip install pygwalker --upgrade --pre
para obter os últimos recursos e correções de bugs.
Conda-forge
conda install -c conda-forge pygwalker
ou
mamba install -c conda-forge pygwalker
Consulte o conda-forge feedstock (opens in a new tab) para obter mais ajuda.
Usando pygwalker no Jupyter Notebook
Início Rápido
Importe pygwalker e pandas em seu Jupyter Notebook para começar.
import pandas as pd
import pygwalker as pyg
Você pode usar o pygwalker sem interromper seu fluxo de trabalho existente. Por exemplo, você pode chamar o PyGWalker com o dataframe carregado desta forma:
df = pd.read_csv('./bike_sharing_dc.csv')
walker = pyg.walk(df)
É isso. Agora você tem uma interface de usuário interativa para analisar e visualizar dados com operações simples de arrastar e soltar.
Coisas interessantes que você pode fazer com o PyGWalker:
-
Você pode alterar o tipo de marca em outros para criar gráficos diferentes, por exemplo, um gráfico de linha:
-
Para comparar diferentes medidas, você pode criar uma visualização concatenada adicionando mais de uma medida em linhas/colunas.
-
Para fazer uma visualização das facetas de várias subvisualizações divididas pelo valor na dimensão, coloque as dimensões em linhas ou colunas para criar uma visualização em facetas.
-
PyGWalker contém uma tabela de dados poderosa, que fornece uma visualização rápida dos dados e sua distribuição, perfil. Você também pode adicionar filtros ou alterar os tipos de dados na tabela.
- Você pode salvar o resultado da exploração de dados em um arquivo local
Melhores Práticas
Existem alguns parâmetros importantes que você deve conhecer ao usar o pygwalker:
spec
: para salvar/carregar a configuração do gráfico (string JSON ou caminho do arquivo)kernel_computation
: para usar o duckdb como mecanismo de cálculo, o que permite lidar com conjuntos de dados maiores mais rapidamente em sua máquina local.kernel_computation
: Obsoleto, usekernel_computation
em seu lugar.
df = pd.read_csv('./bike_sharing_dc.csv')
walker = pyg.walk(
df,
spec="./chart_meta_0.json", # este arquivo JSON salvará o estado do seu gráfico, você precisa clicar no botão de salvar na interface do usuário manualmente quando terminar um gráfico, 'autosave' será suportado no futuro.
kernel_computation=True, # defina `kernel_computation=True`, o pygwalker usará o duckdb como mecanismo de cálculo, ele permite que você explore conjuntos de dados maiores (<=100GB).
)
Exemplo em notebook local
- Código do Notebook: Clique Aqui (opens in a new tab)
- Visualizar HTML do Notebook: Clique Aqui (opens in a new tab)
Exemplo em notebook na nuvem
Use pygwalker no Streamlit
O Streamlit permite hospedar uma versão web do pygwalker sem precisar entender detalhes de como funciona a aplicação web.
Aqui estão alguns exemplos de aplicativos construídos com pygwalker e streamlit:
- PyGWalker + streamlit para conjunto de dados de compartilhamento de bicicletas (opens in a new tab)
- Painel de Terremotos (opens in a new tab)
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
import streamlit as st
# Ajuste a largura da página do Streamlit
st.set_page_config(
page_title="Usar Pygwalker no Streamlit",
layout="wide"
)
# Adicionar Título
st.title("Usar Pygwalker no Streamlit")
# Você deve armazenar em cache seu renderizador do pygwalker para evitar que sua memória exploda
@st.cache_resource
def get_pyg_renderer() -> "StreamlitRenderer":
df = pd.read_csv("./bike_sharing_dc.csv")
# Se deseja usar o recurso de salvar a configuração do gráfico, defina `spec_io_mode="rw"`
return StreamlitRenderer(df, spec="./gw_config.json", spec_io_mode="rw")
renderer = get_pyg_renderer()
renderer.explorer()
Referência da API (opens in a new tab)
pygwalker.walk (opens in a new tab)
Parâmetro | Tipo | Padrão | Descrição |
---|---|---|---|
dataset | Union[DataFrame, Connector] | - | O dataframe ou conector a ser usado. |
gid | Union[int, str] | None | ID para a div do container do GraphicWalker, formatado como gwalker-\{gid\} . |
env | Literal['Jupyter', 'JupyterWidget'] | 'JupyterWidget' | Ambiente usando pygwalker. |
field_specs | Optional[Dict[str, FieldSpec]] | None | Especificações de campos. Serão inferidos automaticamente do dataset se não especificados. |
hide_data_source_config | bool | True | Se Verdadeiro, oculta o botão de importação e exportação de fonte de dados. |
theme_key | Literal['vega', 'g2'] | 'g2' | Tipo de tema para o GraphicWalker. |
appearance | Literal['media', 'light', 'dark'] | 'media' | Configuração de tema. 'media' detectará automaticamente o tema do sistema operacional. |
spec | str | "" | Dados de configuração do gráfico. Pode ser um ID de configuração, JSON ou URL de arquivo remoto. |
use_preview | bool | True | Se Verdadeiro, usa a função de visualização. |
kernel_computation | bool | False | Se Verdadeiro, usa cálculo do kernel para os dados. |
**kwargs | Any | - | Argumentos de palavras-chave adicionais. |
Ambientes Testados
- Jupyter Notebook
- Google Colab
- Kaggle Code
- Jupyter Lab
- Jupyter Lite
- Databricks Notebook (Desde a versão
0.1.4a0
) - Extensão Jupyter para Visual Studio Code (Desde a versão
0.1.4a0
) - A maioria das aplicações web compatíveis com kernels IPython. (Desde a versão
0.1.4a0
) - Streamlit (Desde a versão
0.1.4.9
), habilitado compyg.walk(df, env='Streamlit')
- DataCamp Workspace (Desde a versão
0.1.4a0
) - Projetos Hex
- ...sinta-se à vontade para relatar um problema para mais ambientes.
Configuração e Política de Privacidade (pygwalker >= 0.3.10)
Você pode usar pygwalker config
para definir sua configuração de privacidade.
$ pygwalker config --help
uso: pygwalker config [-h] [--set [chave=valor ...]] [--reset [chave ...]] [--reset-all] [--list]
Modificar arquivo de configuração. (padrão: ~/Library/Application Support/pygwalker/config.json)
Configurações disponíveis:
- privacidade ['offline','update-only','events'] (padrão: events).
"offline": totalmente offline, nenhum dado é enviado ou api é solicitada
"update-only": somente verifica se há uma nova versão do pygwalker para atualizar
"events": compartilhe quais eventos sobre quais recursos são usados no pygwalker, ele contém apenas dados de eventos sobre quais recursos você acessa para otimização do produto. NENHUM DADO DE ANÁLISE É ENVIADO. Os dados de eventos serão relacionados a um ID exclusivo, que é gerado pelo pygwalker quando instalado com base no carimbo de data e hora. Não coletaremos nenhuma outra informação sobre você.
- kanaries_token ['seu token kanaries'] (padrão: string vazia).
seu token kanaries, você pode obtê-lo em https://kanaries.net.
consulte: https://space.kanaries.net/t/how-to-get-api-key-of-kanaries.
com o token kanaries, você pode usar o serviço da kanaries no pygwalker, como compartilhar gráficos, compartilhar configurações.
opções:
-h, --help mostrar esta mensagem de ajuda e sair
--set [chave=valor ...]
Definir configuração. por exemplo "pygwalker config --set privacidade=update-only"
--reset [chave ...] Redefinir a configuração do usuário e usar os valores padrão. por exemplo "pygwalker config --reset privacidade"
--reset-all Redefinir todas as configurações do usuário e usar os valores padrão. por exemplo "pygwalker config --reset-all"
--list Listar a configuração atualmente utilizada.
Para mais detalhes, consulte: Como definir sua configuração de privacidade? (opens in a new tab)
Licença
Licença Apache 2.0 (opens in a new tab)
Recursos
PyGWalker Cloud foi lançado! Agora você pode salvar seus gráficos na nuvem, publicar a célula interativa como um aplicativo web e usar recursos avançados alimentados pelo GPT. Confira o PyGWalker Cloud (opens in a new tab) para mais detalhes.
- PyGWalker Paper PyGWalker: On-the-fly Assistant for Exploratory Visual Data Analysis (opens in a new tab)
- Confira mais recursos sobre o PyGWalker em Kanaries PyGWalker (opens in a new tab)
- Estamos também trabalhando no RATH (opens in a new tab): um software de análise exploratória de dados de código aberto que redefine o fluxo de trabalho de manuseio, exploração e visualização de dados com automação alimentada por IA. Confira o site da Kanaries (opens in a new tab) e o GitHub do RATH (opens in a new tab) para mais detalhes!
- Use o pygwalker para construir um aplicativo de análise visual no streamlit (opens in a new tab)
- Se encontrar problemas e precisar de suporte, junte-se ao nosso canal Discord (opens in a new tab) ou levante um problema no github.