Pandas – это библиотека с открытым исходным кодом на Python. Она предоставляет готовые к использованию высокопроизводительные структуры данных и инструменты анализа данных.
- Модуль Pandas работает поверх NumPy и широко используется для обработки и анализа данных.
- NumPy – это низкоуровневая структура данных, которая поддерживает многомерные массивы и широкий спектр математических операций с массивами. Pandas имеет интерфейс более высокого уровня. Он также обеспечивает оптимизированное согласование табличных данных и мощную функциональность временных рядов.
- DataFrame – это ключевая структура данных в Pandas. Это позволяет нам хранить и обрабатывать табличные данные, как двумерную структуру данных.
- Pandas предоставляет богатый набор функций для DataFrame. Например, выравнивание данных, статистика данных, нарезка, группировка, объединение, объединение данных и т.д.
Установка и начало работы с Pandas
Для установки модуля Pandas вам потребуется Python 2.7 и выше.
Pandas Style to Color your Data
Если вы используете conda, вы можете установить его, используя команду ниже.
conda install pandas
Если вы используете PIP, выполните команду ниже, чтобы установить модуль pandas.
pip3.7 install pandas
Чтобы импортировать Pandas и NumPy в свой скрипт Python, добавьте следующий фрагмент кода:
import pandas as pd import numpy as np
Поскольку Pandas зависит от библиотеки NumPy, нам нужно импортировать эту зависимость.
Структуры данных
Модуль Pandas предоставляет 3 структуры данных, а именно:
- Series: это одномерный массив неизменного размера, подобный структуре, имеющей однородные данные.
- DataFrames: это двумерная табличная структура с изменяемым размером и неоднородно типизированными столбцами.
- Panel: это трехмерный массив с изменяемым размером.
DataFrame
DataFrame – самая важная и широко используемая структура данных, а также стандартный способ хранения данных. Она содержит данные, выровненные по строкам и столбцам, как в таблице SQL или в базе данных электронной таблицы.
Введение в анализ данных с помощью Pandas
Сегодня речь пойдет о пакете Pandas. Данный пакет делает Python мощным инструментом для анализа данных. Пакет дает возможность строить сводные таблицы, выполнять группировки, предоставляет удобный доступ к табличным данным, а при наличии пакета matplotlib дает возможность рисовать графики на полученных наборах данных. Далее будут показаны основы работы с пакетом, такие как загрузка данных, обращение к полям, фильтрация и построение сводных.
Основные структуры данных и их загрузка
- SQL
- Текстовые файлы
- Excel файлы
- HTML
from pandas import read_csv df1 = read_csv(«df1.txt») df2 = read_csv(«df2.txt»,»;») #второй аргумент задает разделитель
Основы Pandas Python | Series, DataFrame И Анализ Данных
Теперь у нас есть 2 набора данных df1, содержащий магазины и количество отгрузок:
427 | 3 |
707 | 4 |
957 | 2 |
437 | 1 |
И df2, содержащий магазин и его город:
347 | Киев |
427 | Самара |
707 | Минск |
957 | Иркутск |
437 | Москва |
Базовые операции с наборами данных
- в набор с городами магазинов добавим поле `country` и заполним соответствующими странами
- выберем украинский магазин и поменяем его номер
- добавим магазин, полученный на предыдущем шаге, к общему списку
- добавим количество из df1 к набору df2
- построим сводную таблицу по странам и количеству отгрузок
country = [u’Украина’,u’РФ’,u’Беларусь’,u’РФ’,u’РФ’] df2.insert(1,’country’,country)
- номер позиции, куда будет вставлен новый столбец
- имя нового столбца
- массив значений столбца (в нашем случае, это обычный список list)
- через точку — НаборДанных.ИмяПоля
- в квадратных скобках – НаборДанных[‘ИмяПоля’]
t = df2[df2.country == u’Украина’] t.shop = 345
Результатом выполнения данного кода, будет новый промежуточный набор данных t, содержащий одну запись:
345 | Украина | Киев |
Для того чтобы добавить полученную на предыдущем шаге запись, нужно выполнить функцию append(), в качестве аргумента которой передается набор данных, который нужно добавить к исходному:
df2 = df2.append(t)
Агрегация данных
Теперь к нашему основному списку магазинов df2, можно подтянуть количество из набора данных df1. Сделать это можно с помощью функции merge(), которая соединяет два набора данных (аналог join в SQL):
res = df2.merge(df1, ‘left’, on=’shop’)
- набор данных (который будет присоединен к исходному)
- тип соединения
- поле, по которому происходит соединение
- список столбцов, по которым будет считаться агрегированные значение
- список столбцов, которые будут строками итоговой таблицы
- функция, которая используется для агрегации
- параметр для замены пустых значений на 0
res.pivot_table([‘qty’],[‘country’], aggfunc=’sum’, fill_value = 0)
Итоговая таблица будет выглядеть так:
Беларусь | 4 |
РФ | 6 |
Украина |
Заключение
В качестве заключения хотелось бы сказать, Pandas является неплохой альтернативой Excel при работе с большими объемами данных. Показанные функции это только верхушка айсберга под название Pandas. В дальнейшем, я планирую написать серию статей в которых будет показана вся мощь данного пакета.
Источник: habr.com
Pandas
Устройте конкурс между агентствами и узнайте реальные цены и сроки выполнения вашего проекта. Создание заказа занимает 5 минут.
Об инструменте
Что такое Pandas
Pandas – это Python-библиотека с открытым исходным кодом для работы с массивами данных. Pandas построен поверх другой, более низкоуровневой библиотеки – NumPy. Pandas используется для очистки, подготовки и анализа данных в различных областях: финансы, экономика, статистика и социальные науки. Несмотря на то, что Pandas работает с языком программирования Python, часть ее кода написана на Cython и C для достижения лучшей производительности.
Python-библиотека, используемая для работы с массивами данных — помогает обрабатывать и анализировать информацию (например, результаты исследований). Pandas — главная библиотека в Python для работы с данными. Её активно используют аналитики данных и дата-сайентисты.
Фактически Pandas работает «поверх» библиотеки NumPy. Содержит широкий набор функций: справляется с выравниванием, слиянием и группировкой данных.
Основные возможности Pandas
- Две основные структуры данных: Series (одномерный массив) и DataFrames (двумерный массив).
- Методы для обработки отсутствующих значений в данных.
- Функции для очистки данных: например, заполнение отсутствующих значений, преобразование типов данных, удаление дубликатов.
- Методы для манипулирования данными: слияние, объединение, группировка, агрегирование и изменение формы.
- Функции для описательной статистики, агрегирования и операций группировки.
- Возможность интеграции с популярными СУБД.
Особенности Pandas
В отличие от ряда других библиотек для анализа данных, Pandas предназначена для работы как со структурированными, так и неструктурированными данными. Pandas предоставляет быстрые, гибкие и выразительные структуры данных.
Преимущества Pandas
- Хорошие показатели скорости за счет оптимизации кода.
- Интуитивно понятный интерфейс.
- Интеграция с другими Python-библиотеками для расширения функциональности: например, NumPy, Matplotlib и Scikit-learn.
- Большое мировое комьюнити, которое совершенствует библиотеку.
Источник: workspace.ru