Skip to content

Latest commit

 

History

History
242 lines (175 loc) · 15.5 KB

File metadata and controls

242 lines (175 loc) · 15.5 KB

English | Español | Français | Deutsch | 中文 | Türkçe | 日本語 | 한국어

PyGWalker: Библиотека Python для разведочного анализа данных с визуализацией

PyPI version binder PyPI downloads conda-forge

discord invitation link Twitter Follow Join Kanaries on Slack

PyGWalker (произносится как «Пиг Уокер», просто для забавы) — это сочетание слов Python и Graphic Walker. Он интегрирует Jupyter Notebook с Graphic Walker — открытым аналогом Tableau. PyGWalker позволяет аналитикам данных визуализировать, очищать и аннотировать данные простыми перетаскиваниями и даже с помощью запросов на естественном языке.

Посетите Google Colab, Kaggle Code или онлайн-демо Graphic Walker, чтобы попробовать!

Если вы предпочитаете R, загляните в GWalkR — обёртку Graphic Walker для R.
Если вам нужно офлайн-приложение без необходимости программирования, посмотрите PyGWalker Desktop.


Начало работы

Ознакомьтесь с нашим видеоруководством по работе с pygwalker, pygwalker + streamlit и pygwalker + snowflake:
Как исследовать данные с PyGWalker в Python

Запустить в Kaggle Запустить в Colab
Kaggle Code Google Colab

Установка pygwalker

Перед использованием pygwalker установите необходимые пакеты через pip или conda.

pip

pip install pygwalker

Примечание Для предварительного тестирования можно установить последнюю версию с помощью pip install pygwalker --upgrade или даже pip install pygwalker --upgrade --pre чтобы получать самые свежие функции и исправления ошибок.

conda-forge

conda install -c conda-forge pygwalker

или

mamba install -c conda-forge pygwalker

См. conda-forge feedstock для подробностей.

Использование pygwalker в Jupyter Notebook

Быстрый старт

Импортируйте pandas и pygwalker в ваш ноутбук:

import pandas as pd
import pygwalker as pyg

Вы можете использовать pygwalker без изменения вашего рабочего процесса. Например:

df = pd.read_csv('./bike_sharing_dc.csv')
walker = pyg.walk(df)

Вот и всё — теперь у вас есть интерактивный интерфейс для анализа и визуализации данных перетаскиванием.

Что можно делать с PyGWalker:

  • Менять тип графика (mark) на другие, например, линейный график: graphic walker line chart
  • Для сравнения нескольких показателей использовать конкатенацию, добавив более одной меры в строки или столбцы. graphic walker area chart
  • Создавать фасетированный (разбивочный) вид, помещая измерения в строки или столбцы. graphic walker scatter chart
  • Использовать мощную таблицу данных для быстрого просмотра распределения, профилирования, добавлять фильтры и менять типы данных. pygwalker-data-preview
  • Сохранять результаты исследования данных в файл на вашем компьютере.

Рекомендации по использованию

Важные параметры при работе с pygwalker:

  • spec — для сохранения/загрузки конфигурации графика (JSON-строка или путь к файлу).
  • kernel_computation — использовать DuckDB в качестве вычислительного движка для работы с большими данными локально.
  • use_kernel_calc — устарел, используйте kernel_computation.
df = pd.read_csv('./bike_sharing_dc.csv')
walker = pyg.walk(
    df,
    spec="./chart_meta_0.json",    # конфигурация графика, сохранённая вручную в UI
    kernel_computation=True,       # включить DuckDB для больших наборов данных (до 100 ГБ)
)

Пример в локальном ноутбуке

Пример в облачном ноутбуке

Использование pygwalker в Streamlit

Streamlit позволяет развернуть веб-версию pygwalker без деталей веб-разработки.

Ниже примеры приложений на pygwalker + Streamlit:

from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
import streamlit as st

st.set_page_config(
    page_title="Использование PyGWalker в Streamlit",
    layout="wide"
)

st.title("Использование PyGWalker в Streamlit")

@st.cache_resource
def get_pyg_renderer() -> "StreamlitRenderer":
    df = pd.read_csv("./bike_sharing_dc.csv")
    return StreamlitRenderer(df, spec="./gw_config.json", spec_io_mode="rw")

renderer = get_pyg_renderer()
renderer.explorer()

Справочник API

Параметр Тип По умолчанию Описание
dataset Union[DataFrame, Connector] DataFrame или Connector для анализа данных.
gid Union[int, str] None ID контейнера GraphicWalker, формат: gwalker-{gid}.
env Literal['Jupyter', 'JupyterWidget'] 'JupyterWidget' Окружение для pygwalker.
field_specs Optional[Dict[str, FieldSpec]] None Спецификации полей, автоматически выводятся из dataset, если не заданы.
hide_data_source_config bool True Скрыть кнопку импорта/экспорта источника данных.
theme_key Literal['vega', 'g2'] 'g2' Тема для GraphicWalker.
appearance Literal['media', 'light', 'dark'] 'media' Настройка темы: 'media' автоматически выбирает тему ОС.
spec str "" Данные конфигурации графика. Может быть ID, JSON-строка или удалённый URL.
use_preview bool True Использовать функцию предварительного просмотра.
kernel_computation bool False Включить вычисления внутри ядра для работы с большими данными.
**kwargs Any Дополнительные параметры.

Разработка

См. раздел local-development.

Тестируемые окружения

  • Jupyter Notebook
  • Google Colab
  • Kaggle Code
  • Jupyter Lab
  • Jupyter Lite
  • Databricks Notebook (с версии 0.1.4a0)
  • Расширение Jupyter для Visual Studio Code (с версии 0.1.4a0)
  • Большинство веб-приложений, совместимых с ядрами IPython (с версии 0.1.4a0)
  • Streamlit (с версии 0.1.4.9), через pyg.walk(df, env='Streamlit')
  • DataCamp Workspace (с версии 0.1.4a0)
  • Panel. См. panel-graphic-walker.
  • marimo (с версии 0.4.9.11)
  • Hex Projects
  • … не стесняйтесь создавать issue для добавления других окружений.

Настройки и политика конфиденциальности (pygwalker ≥ 0.3.10)

Вы можете управлять конфигурацией через pygwalker config:

$ pygwalker config --help

usage: pygwalker config [-h] [--set [key=value ...]] [--reset [key ...]] [--reset-all] [--list]

Modify configuration file. (default: ~/Library/Application Support/pygwalker/config.json)
Available configurations:

- privacy  ['offline', 'update-only', 'events'] (default: events).
    "offline": полностью офлайн, без отправки данных.
    "update-only": только проверка обновлений pygwalker.
    "events": отправка данных о событиях для оптимизации продукта. Никакие пользовательские данные не передаются.

- kanaries_token  ['your kanaries token'] (default: empty string).
    Ваш токен Kanaries для использования сервисов, таких как шаринг графиков и конфигураций.

Более подробная информация: How to set your privacy configuration?

Лицензия

Apache License 2.0