Представьте, что вам нужно изучить данные и преобразовать их, но времени не хватает. Вы владеете методами Pandas, которые нужно использовать для построения столбца, его сортировки, изменения имени и создания визуализации, но написание кода для получения всего этого займет больше времени, чем вы можете себе позволить.

Что же делать? Можно быстро написать код и довести дело до конца (что может привести к глупым ошибкам) или же использовать библиотеку Mito, чтобы исследовать и преобразовать данные за несколько минут. Mito  —  это библиотека Python, которая позволяет проводить анализ данных так же быстро, как если бы вы работали с электронными таблицами в Microsoft Excel.

Чтобы разобраться в том, как она работает, для начала скачайте набор данных и установите библиотеку. В этом руководстве будет использоваться набор данных игроков FIFA 22. Его можно загрузить здесь. Мы будем исследовать этот набор данных с помощью библиотеки Mito. Чтобы ее установить, скачайте либо Jupyter Notebook, либо Jupyter Lab. Затем выполните приведенную ниже команду в терминале или командной строке.

python -m pip install mitoinstaller
python -m mitoinstaller install

Чтобы узнать больше о Mito и ее установке, ознакомьтесь с официальной документацией.

После установки Mito понадобится создать mitosheet, чтобы приступить к работе. Затем строить столбцы и визуализации можно будет в пару кликов.

Импорт датафрейма

Перед импортом датафрейма убедитесь, что загруженный набор данных находится в рабочем каталоге. Если это так, нажмите на кнопку Import, затем найдите название набора данных, выберите его и кликните на Import.

Mito: быстрый анализ данных на Python
Изображение автора

Главное преимущество библиотеки Mito в том, что она генерирует код Python после всех действий, произведенных в mitosheet.

Вот сгенерированный код, который выполнил операцию импорта:

# Импорт players_22.csv
import pandas as pd
players_22 = pd.read_csv(r'players_22.csv')

Сортировка значений в столбце

Сортировать значения с помощью библиотеки Mito просто  —  достаточно нажать на кнопку “Сортировать” (Filter) и выбрать “Возрастание” (Ascending) или “Убывание” (Descending).

Отсортируем общий результат футболистов по убыванию, а затем по возрастанию, чтобы установить лучшего и худшего игроков.

Mito: быстрый анализ данных на Python
Изображение автора

Через пару секунд вы выясните, что игроком с самым высоким баллом является Лионель Месси, а игроком с самым низким баллом  —  Эмануэль Лалчханчхуаха.

Вот код Python, который без Mito пришлось бы писать самостоятельно:

# Сортировка в порядке убывания
players_22 = players_22.sort_values(by='overall', ascending=False, na_position='last')

# Сортировка по возрастанию
players_22 = players_22.sort_values(by='overall', ascending=True, na_position='first')

Создание нового столбца, его переименование и применение формул

Синтаксис для создания новых столбцов и изменения их имен в Pandas иногда трудно запомнить. Хорошая новость заключается в том, что в Mito нужно нажать всего пару кнопок, чтобы выполнить все эти действия за считанные секунды!

Создадим новый столбец, который будет содержать данные о росте игроков, выраженном в метрах. Для этого нажмите на кнопку Add Col (“Добавить столбец”), затем дважды кликните на названии столбца, чтобы изменить его на height_m. В этом новом столбце нужно преобразовать рост из сантиметров в метры, введя формулу =height_cm/100.

Mito: быстрый анализ данных на Python
Изображение автора

Отлично! Теперь можно отсортировать данные столбца, чтобы найти самого высокого и самого низкого игроков. Ниже приведен код, сгенерированный Mito:

# Добавление столбца new-column-wo9f
players_22.insert(12, 'new-column-wo9f', 0)

# Переименование столбцов в height_m
players_22.rename(columns={'new-column-wo9f': 'height_m'}, inplace=True)

# Установка формулы height_m
players_22['height_m'] = players_22['height_cm']/100

Теперь, в качестве упражнения, создайте новый столбец BMI (ИМТ, индекс массы тела). Формула для его расчета: BMI = kg/m2. Выполните следующие шаги, чтобы создать этот новый столбец.

Mito: быстрый анализ данных на Python
Изображение автора

Вот код, сгенерированный Mito:

# Добавление столбца new-column-o0fb
players_22.insert(14, 'new-column-o0fb', 0)

# Переименование столбцов в bmi
players_22.rename(columns={'new-column-o0fb': 'bmi'}, inplace=True)

# Установка формулы bmi
players_22['bmi'] = players_22['weight_kg']/(players_22['height_m']*players_22['height_m'])

Создание визуализации

Обычным этапом в процессе изучения числовых данных является создание гистограммы. С помощью Mito можно создать это и многие другие графические представления данных всего за пару кликов.

Подготовим гистограмму роста игроков. Для этого достаточно нажать на кнопку Graph (“Граф”) и выбрать нужный тип графического представления. Затем на оси X добавим данные, которые необходимо отобразить.

Mito: быстрый анализ данных на Python
Изображение автора

Сортировка датафрейма на основе нескольких условий

Сортировать данные в Mito можно точно так же, как это делается в Excel! Нужно только нажать на значок сортировки, перейти в раздел Filter, нажать на Add a Filter и затем выбрать Add a filter (“Добавить сортировку”), если нужно задать одно условие, или Add a group of filters (“Добавить группу сортировок”), если нужно задать несколько условий.

В данном примере в столбце age (“возраст”) отсортируем игроков в возрасте от 20 до 30 лет, поэтому выберем Add a group of filters. А вот в столбце club_name (“название клуба”) отсортируем игроков ФК “Барселона”, поэтому выберем Add a Filter.

Mito: быстрый анализ данных на Python
Изображение автора

Вот код, сгенерированный Mito:

# Сортировка по возрасту
players_22 = players_22[((players_22[‘age’] > 20) & (players_22[‘age’] < 30))]

# Сортировка по названию клуба
players_22 = players_22[players_22[‘club_name’] == ‘FC Barcelona’]

Создание сводной таблицы

Чтобы создать сводную таблицу в Pandas, необходимо помнить синтаксис метода .pivot_table (что иногда является проблемой). К счастью, шаги по созданию сводной таблицы в Mito аналогичны Excel.

Выясним на основе набора данных, в каких странах самые высокие игроки. Для этого щелкните по таблице Pivot и выберите nationality_names в Rows (форме “Строки”) и height_cm в Values (в форме “Значения”), как показано ниже. Не забудьте выбрать mean (“среднее значение”) в выпадающем списке.

Mito: быстрый анализ данных на Python
Изображение автора

Вот код, сгенерированный Mito (как видите, синтаксис не так-то легко запомнить, особенно новичку):

# Сведение в таблицу players_22
tmp_df = players_22[[‘nationality_name’, ‘height_cm’]]
pivot_table = tmp_df.pivot_table(
 index=[‘nationality_name’],
 values=[‘height_cm’],
 aggfunc={‘height_cm’: [‘mean’]}
)
pivot_table.set_axis([flatten_column_header(col) for col in pivot_table.keys()], axis=1, inplace=True)
players_22_pivot = pivot_table.reset_index()

# Сортировка средних значений height_cm в порядке убывания
players_22_pivot = players_22_pivot.sort_values(by=’height_cm mean’, ascending=False, na_position=’last’)

Читайте также:

Читайте нас в Telegram, VK и Дзен

Перевод статьи Frank Andrade: Super Fast Data Analysis in Python

Сообщение Mito: быстрый анализ данных на Python появились сначала на NOP::Nuances of programming.

Похожие записи

AEGIS Algorithms Android Angular Apache Airflow Apache Druid Apache Flink Apache Spark API API Canvas AppSec Architecture Artificial Intelligence Astro Authentication Authorization AutoGPT AWS AWS Aurora AWS Boto3 AWS EC2 AWS Lambda Azure Babylon.js Backend bash Beautiful Soup Bento UI Big Data Binary Tree Browser API Bun Career Cassandra Charts ChatGPT Chrome Extension Clean Code CLI ClickHouse Coding Codux Combine Compose Computer Context Fusion Copilot Cosmo Route CProgramming cron Cryptography CSS CTF Cypress DALL-E Data Analysis Data science Database dbt dbt Cloud deno Design Design Patterns Detekt Development Distributed Systems Django Docker Docker Hub Drizzle DRY DuckDB Express FastAPI Flask Flutter For Beginners Front End Development Game Development GCN GCP Geospatial Git GitHub Actions GitHub Pages Gitlab GMS GoFr Golang Google Google Sheets Google Wire GPT-3 GPT3 Gradio Gradle Grafana Graphic Design GraphQL gRPC Guidance HMS Hotwire HTML Huawei HuggingFace IndexedDB InfoSec Interview iOS Jackknife Java JavaScript Jetpack Compose JSON Kafka Kotlin Kubernetes LangChain Laravel Linux LlaMA LLM localStorage Logging Machine Learning Magento Math Mermaid Micro Frontends Mobile Mobile App Development mondayDB MongoDB Mongoose MySQL Naming NestJS NET NetMock Networks NextJS NLP Node.js Nodejs NoSQL NPM OOP OpenAI OTP Pandas PDF PHP Playwright Plotly Polars PostgreSQL Prefect Productivity Programming Prometheus Puppeteer Pushover Python Pytorch Quarkus Rabbitmq RAG Ramda Raspberry Pi React React Native Reactor Redis REST API Revolut Riverpod RProgramming Ruby Ruby on Rails Rust Scalene SCDB ScyllaDB Selenium Servers Sklearn SLO SnowFlake Snowkase Software Architecture Software Development Solara Solid Spring Boot SQL SQLite Streamlit SudoLang Supabase Swift SwiftUI Tailwind CSS Taipy Terraform Testing Transformers TURN TypeScript Ubuntu UI Design Unix UX UX Design Vim Vite VSCode Vue Web Architecture Web Components Web Development Web Frameworks Web Scraping Web-разработка Webassembly Websocket Whisper Widgets WordPress YAML YouTube Zed Наука о данных Разное Тренды

Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях

Вы пропустили

AEGIS Algorithms Android Angular Apache Airflow Apache Druid Apache Flink Apache Spark API API Canvas AppSec Architecture Artificial Intelligence Astro Authentication Authorization AutoGPT AWS AWS Aurora AWS Boto3 AWS EC2 AWS Lambda Azure Babylon.js Backend bash Beautiful Soup Bento UI Big Data Binary Tree Browser API Bun Career Cassandra Charts ChatGPT Chrome Extension Clean Code CLI ClickHouse Coding Codux Combine Compose Computer Context Fusion Copilot Cosmo Route CProgramming cron Cryptography CSS CTF Cypress DALL-E Data Analysis Data science Database dbt dbt Cloud deno Design Design Patterns Detekt Development Distributed Systems Django Docker Docker Hub Drizzle DRY DuckDB Express FastAPI Flask Flutter For Beginners Front End Development Game Development GCN GCP Geospatial Git GitHub Actions GitHub Pages Gitlab GMS GoFr Golang Google Google Sheets Google Wire GPT-3 GPT3 Gradio Gradle Grafana Graphic Design GraphQL gRPC Guidance HMS Hotwire HTML Huawei HuggingFace IndexedDB InfoSec Interview iOS Jackknife Java JavaScript Jetpack Compose JSON Kafka Kotlin Kubernetes LangChain Laravel Linux LlaMA LLM localStorage Logging Machine Learning Magento Math Mermaid Micro Frontends Mobile Mobile App Development mondayDB MongoDB Mongoose MySQL Naming NestJS NET NetMock Networks NextJS NLP Node.js Nodejs NoSQL NPM OOP OpenAI OTP Pandas PDF PHP Playwright Plotly Polars PostgreSQL Prefect Productivity Programming Prometheus Puppeteer Pushover Python Pytorch Quarkus Rabbitmq RAG Ramda Raspberry Pi React React Native Reactor Redis REST API Revolut Riverpod RProgramming Ruby Ruby on Rails Rust Scalene SCDB ScyllaDB Selenium Servers Sklearn SLO SnowFlake Snowkase Software Architecture Software Development Solara Solid Spring Boot SQL SQLite Streamlit SudoLang Supabase Swift SwiftUI Tailwind CSS Taipy Terraform Testing Transformers TURN TypeScript Ubuntu UI Design Unix UX UX Design Vim Vite VSCode Vue Web Architecture Web Components Web Development Web Frameworks Web Scraping Web-разработка Webassembly Websocket Whisper Widgets WordPress YAML YouTube Zed Наука о данных Разное Тренды

Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях