Сообщить об ошибке.

Краткий обзор раздела: Модуль pandas, анализ данных в Python

Содержание с кратким описанием:

ОБЗОР: Модуль pandas, анализ данных в Python.
Работа по обработке данных обычно делится на несколько этапов: очистка данных, их анализ/моделирование, последующая организация результатов анализа в форму, подходящую для построения графиков или отображения в виде таблиц. Библиотека pandas - идеальный инструмент для всех этих задач
Объект DataFrame модуля pandas в Python.
Объект pandas.DataFrame() представляет собой первичную двумерную структуру данных pandas, изменяемую по размеру, содержащую потенциально разнородные табличные данные.
Объект Series модуля pandas в Python.
Класс pandas.Series() представляет собой одномерный массив numpy.ndarray с метками осей (включая временные ряды).
Объект Index модуля pandas в Python.
Объект pandas.Index представляет собой неизменяемую последовательность, которая используется для индексации и выравнивания. Другими словами - это базовый объект, хранящий метки осей для всех объектов pandas.
Объект MultiIndex модуля pandas в Python.
Класс MultiIndex() представляет собой многоуровневый или иерархический объект индекса для объектов pandas. Объект MultiIndex позволяет хранить и манипулировать данными с помощью произвольного числа измерений в структурах данных с более меньшей размерностью.
Логическая индексация в pandas.
Как работает фильтрация логическими значениями (логическая индексация) в pandas? Материал объясняет на простом примере принцип работы логической индексации в pandas для отбора и фильтрации данных.
Использование регулярных выражений в Pandas.
В материале дается полное описание с примерами использования строковых методов Series.str, которые работают с регулярными выражениями.
Отбор и фильтрация данных в Pandas.
Материал содержит методы отбора и фильтрации данных в pandas различными способами с подробными примерами и описанием.
Методы итерации по объектам pandas в Python.
Поведение базовой итерации по объектам pandas зависит от типа. При итерации по Series, он рассматривается как массив, и базовая итерация создает значения. DataFrames следуют соглашению о переборе "*ключей*" объектов.
Анализ логов Nginx модулем pandas в Python.
Материал представляет собой мысли о том как можно подойти к анализу логов Nginx при помощи библиотеки pandas.
Сравнение pandas с SQL.
Многие пользователи pandas имеют некоторое представление о SQL, этот материал рассказывает о том, как различные операции SQL могут быть выполнены при помощи библиотеки pandas.
Свойства .loc[], .iloc[] объектов Series/DataFrame в pandas.
Свойство .loc] и .iloc[] является основным методом доступа к данным DataFrame/Series. Свойство .loc[] отличается от .iloc[] тем, что первый работает по индексным меткам, а второй по позиции, которая начинается с 0. Дополнительно рассмотрен метод .take() объектов Index/Series/DataFrame.
Метод .truncate() объектов Series/DataFrame в pandas.
Методы Series.truncate() и DataFrame.truncate() модуля pandas усекают ряд или фрейма данных до и после некоторого значения индекса. Это полезное сокращение для логической индексации на основе значений индекса выше или ниже определенных пороговых значений.
Метод .take() объектов DataFrame/Series/Index в pandas.
Методы Series.take() и DataFrame.take() возвращают элементы данных, находящихся в заданных позициях indices объектов Series/DataFrame. Это означает, что список позиций indices указывается согласно фактическому положению элемента в соответствующем объекте.
Метод Series.between() модуля pandas в Python.
Метод Series.between() возвращает логический вектор, содержащий значение True, везде, где соответствующий элемент Series находится между граничными значениями слева и справа. Значения NA обрабатываются как False.
Метод .between_time() объектов DataFrame/Series в pandas.
Метод .between_time() выбирает значения между определенным временем суток (например, 9:00-9:30). Установив start_time на более позднее время, чем end_time, можно получить время, которое НЕ НАХОДИТСЯ между двумя временами.
Методы pandas для работы с None и NaN в DataFrame/Series.
В материале рассмотрены методы объектов DataFrame и Series, которые позволяют искать/удалять/заменять недостающие (пустые) данные (также называемые NA) в pandas.
Метод .interpolate() объектов Series/DataFrame в pandas.
Методы DataFrame.interpolate() и Series.interpolate() заполняют значения NaN методом интерполяции. DataFrame/Series с MultiIndex поддерживает только метод linear. Методы krogh, barycentric, spline, pchip, akima и др. это обертки реализаций SciPy, для их использования нужна установленная SciPy
Методы .duplicated() и .drop_duplicates() объектов DataFrame/Series в pandas.
Материал рассматривает методы работы с повторяющимися строками или значениями столбцов в DataFrame. В частности рассматриваются методы .duplicates() и .drop_duplicates() объектов DataFrame/Series модуля pandas в Python. Материал также затрагивает тему повторяющихся индексных меток строк и столбцов.
Метод .sort_values() и .sort_index() объектов Series/DataFrame в pandas.
Материал рассматривает как сортировать Series/DataFrame по значениям или по индексу (по возрастанию или убыванию) в модуле pandas, а именно методы сортировки .sort_values() и .sort_index() объектов Series/DataFrame.
Метод .value_counts() объектов DataFrame/Series в pandas.
Метод .value_counts() возвращает Series, содержащий частоту (количество повторов/дубликатов) каждой отдельной строки или выбранных столбцов/столбца в DataFrame/Series.
Методы .nsmallest() и .nlargest() объектов Series/DataFrame в pandas.
Материал рассматривает методы .nsmallest() и .nlargest() объектов Series/DataFrame, которые показывают первые n строк с наименьшими/наибольшими значениями в порядке возрастания/убывания соответственно.
Метод DataFrame.query() модуля pandas в Python.
Метод DataFrame.query() библиотеки pandas запрашивает столбцы DataFrame с помощью логического выражения expr. Этот метод использует функцию верхнего уровня eval() для оценки переданного запроса expr.
Методы .apply() и .map() объектов DataFrame/Series в pandas.
Метод DataFrame.apply() применяет функцию к целой строке или столбцу. Метод DataFrame.map() применяет функцию ко всем значениям DataFrame поэлементно. Метод Series.apply() вызывает функцию для элементов Series, а метод Series.map() чем-то похож на него.
Метод .isin() объектов DataFrame/Series в pandas.
Метод DataFrame.isin() проверяет наличие каждого элемента DataFrame в значениях, передаваемых в values, при этом values может быть последовательностью, Series, DataFrame или словарем. Метод Series.isin() проверяет содержатся ли элементы в Series в последовательности values.
Метод DataFrame.assign() модуля pandas в Python.
Метод DataFrame.assign() модуля pandas создает новые столбцы в исходном DataFrame. Возвращает новый объект со всеми исходными столбцами в дополнение к новым. Если новый столбец имеет одинаковое имя/название с существующим в исходном DataFrame, то существующие столбцы будут перезаписаны.
Метод DataFrame.insert() модуля pandas в Python.
Метод DataFrame.insert() модуля pandas вставляет столбец в DataFrame в указанном месте. Поднимает ValueError, если столбец уже содержится в DataFrame, а аргумент allow_duplicates=False.
Методы .mask() и .where() объектов Series/DataFrame в pandas.
Методы .mask() и .where() являются применением идиомы if/then. Метод .mask() заменяет значения Series/DataFrame, в которых условие равно True. Метод .where() является обратной логической операцией, т.е. заменяет значения в которых условие равно False.
Метод .groupby() объектов DataFrame/Series в pandas.
Операция groupby включает в себя некоторую комбинацию разбиения объекта, применения функции и объединения результатов. Метод можно использовать для группировки больших объемов данных и вычислительных операций в полученных группах.
Класс Grouper() модуля pandas в Python.
Класс группировщика Grouper() модуля pandas позволяет пользователю указывать инструкцию для метода .groupby() объектов Series/DataFrame. В спецификации столбец выбирается с помощью ключевого аргумента, или, если заданы аргументы level и/или asix, уровня индекса целевого объекта.
Метод .transform() объектов DataFrame/DataFrameGroupBy в pandas.
Методы DataFrame.transform() модуля pandas вызывают функцию func для самостоятельного создания DataFrame/Series с той же формой оси, что и у исходного объекта. Метод .transform() также имеют объекты DataFrameGroupBy и Resampler. Отличие .transform() от .apply() в групповых операциях.
Метод .aggregate() объектов Series/DataFrame в pandas.
Метод DataFrame.aggregate() (DataFrame.agg()) модуля pandas применяет одну или несколько групповых операций (агрегирующих функций) к данным DataFrame по указанной оси axis. Метод Series.aggregate() (Series.agg()) делает тоже самое, только не использует оси.
Метод DataFrame.join() в pandas, объединение DataFrame.
Функция DataFrame.join() модуля pandas эффективно объединяет столбцы с другим DataFrame либо по индексу, либо по ключевому столбцу. Поддерживает объединение по индексу, одновременно с несколькими объектами DataFrame/Series.
Метод DataFrame.merge() в pandas, слияние в стиле БД.
Метод DataFrame.merge() модуля pandas выполняет объединение DataFrame или именованные объекты Series с помощью соединения в стиле базы данных.
Функция concat() библиотеки pandas в Python.
Функция pandas.concat() объединяет объекты pandas вдоль определенной оси. Позволяет опционально задавать логику по другим осям.
Метод DataFrame.set_index() в pandas.
Метод DataFrame.set_index() модуля pandas устанавливает индекс DataFrame (метки строк), используя один или несколько существующих столбцов или массивов правильной длины (len(DataFrame.index)). Индекс может заменить существующий индекс или расширить его.
Методы .all() и .any() объектов Series/DataFrame в pandas.
Методы .all() и .any() объектов Series/DataFrame в pandas работают аналогично одноименным функциям Python. В материале даны пояснения: как и где использовать эти методы на практике при анализе данных.
Метод .resample() объектов Series/DataFrame в pandas.
Это удобные методы преобразования частот и передискретизации временных рядов. Объект Series/DataFrame должен иметь индекс, похожий на дату и время (pandas.DatetimeIndex, pandas.PeriodIndex или pandas.TimedeltaIndex), или вызывающий Series/DataFrame должен передать метку Series/Index, похожей на dat
Метод .reindex() объектов Series/DataFrame в pandas.
Метод .reindex() объектов Series/DataFrame является фундаментальным методом выравнивания данных в Pandas. Он используется для реализации почти всех других функций, основанных на функциональности выравнивания индексных меток. Повторная индексация означает согласование данных с заданным набором меток
Метод .drop() объектов Series/DataFrame в pandas.
Метод DataFrame.drop() удаляет строки или столбцы, при указании имен меток labels и соответствующей оси axis или напрямую указав имена индексов index или столбцов columns. При использовании MultiIndex метки на разных уровнях можно удалить, указав уровень level.
Метод DataFrame.set_axis() в pandas.
Метод DataFrame.set_axis() модуля pandas присваивает желаемый индекс данной оси axis.
Методы .rename() и .rename_axis() объектов Series/DataFrame в pandas.
Метод DataFrame.rename() переименовывает столбцы или метки индексов. Значения функции/словаря должны быть уникальными (один-к-одному). Метки, не содержащиеся в словаре/Series, останутся как есть. Метод DataFrame.rename_axis() переименовывает имя оси для индекса или столбцов.
Метод .reset_index() объектов Series/DataFrame в pandas.
Методы DataFrame.reset_index() и Series.reset_index() модуля pandas сбрасывают индекс или его уровень и использует вместо него индекс по умолчанию. Если DataFrame имеет MultiIndex, то этот метод может удалить один или несколько уровней.
Универсальный метод .replace() объектов Series/DataFrame в pandas.
Методы DataFrame.replace() и Series.replace() модуля pandas динамически заменяет значения DataFrame/Series другими значениями, указанными в to_replace. Этот метод отличается от обновления значений с помощью свойств .loc или .iloc, которые требуют указания местоположения.
Методы строк объектов Series/Index в pandas, объект Series.str.
Объект Series.str модуля pandas предоставляет векторизованные строковые функции для Series и Index. Создан по образцу строковых методов Python с некоторым вдохновением от пакета stringr языка R.
Доступ к методам datetime объектов Series/index в pandas.
У Series есть метод доступа Series.dt, позволяющий кратко возвращать свойства, подобные дате и времени, для значений, если они являются представлениями datetime или pandas.PeriodIndex.
Псевдонимы периодов временных рядов pandas.
Псевдонимы периодов временных рядов pandas, которые передаются в качестве значения аргументу freg (временной интервал/период) в функциях и методах pandas.
Методы pivot() и pivot_table() объекта DataFrame в pandas.
Функция pandas.pivot() и метод DataFrame.pivot() использует уникальные значения из указанного индекса/столбцов для формирования осей результирующего DataFrame. Функция pandas.pivot_table() и метод DataFrame.pivot_table() создает сводную таблицу в стиле электронной таблицы Excel в виде DataFrame.
Методы .stack() и .unstack() объекта DataFrame в pandas.
Метод DataFrame.stack() "сводит" уровень меток столбцов, возвращая a DataFrame с новым, самым внутренним уровнем меток строк. Метод DataFrame.unstack() (обратная операция) "сводит" уровень индекса строки к оси столбца, создавая измененный DataFrame с новым, самым внутренним уровнем меток столбцов.
Функция melt() и wide_to_long() модуля pandas в Python.
Функция pandas.melt() и метод DataFrame.melt() полезны для преобразования DataFrame в формат, где один или несколько столбцов являются переменными-идентификаторами, при этом все остальные столбцы не привязаны к оси строк, оставляя только два столбца без идентификаторов, "переменная" и "значение"
Функция get_dummies() и from_dummies() модуля pandas в Python.
Функция pandas.get_dummies() создает новый DataFrame со столбцами уникальных переменных и значениями, представляющими наличие/отсутствие этих переменных в строке. То есть кодирует категориальную переменную как True/False или 0/1. Функция from_dummies() выполняет обратную операцию.
Метод .explode() объектов Series/DataFrame в pandas.
Метод DataFrame.explode() преобразует каждый элемент списка - в строку, повторяя значения индекса. Возвращает DataFrame c разнесенными значениями списка по строкам подмножества столбцов. Индекс будет дублироваться. Метод Series.explode() делает то-же самое, только с одним (своим) столбцом
Функция crosstab() модуля pandas в Python.
Функция crosstab() модуля pandas вычисляет простую перекрестную таблицу для двух (или более) факторов. По умолчанию вычисляется таблица частот факторов, если не задан массив значений и функция агрегирования.
Функция factorize() модуля pandas в Python.
Функция factorize() кодирует объект как перечисляемый тип или категориальную переменную. Этот метод полезен для получения числового представления массива, когда все, что имеет значение, идентифицирует различные значения. Доступна в качестве методов Series.factorize() и Index.factorize().
Функция cut() модуля pandas в Python, интервалы для группировки.
Функция pandas.cut() используется, когда стоит необходимость сегментировать и сортировать значения данных по группам. Она также полезна для перехода от непрерывной переменной к категориальной переменной. Например, pandas.cut() может преобразовать возраст в группы возрастных диапазонов.
Метод DataFrame.rolling() модуля pandas в Python.
Оконные операции - операции, которые выполняют агрегацию по скользящему разделу значений. API оконных операций функционирует аналогично API groupby Series и DataFrame, вызывая метод оконного управления с необходимыми параметрами, а затем впоследствии вызывая функцию агрегирования.
Метод DataFrame.expanding() модуля pandas в Python.
Расширяющееся окно дает значение агрегированной статистики со всеми данными, доступными к этому моменту времени.
Объекты Timestamp и DatetimeIndex в pandas.
Данные с метками даты/времени - это самый простой тип данных временных рядов, который связывает значения с моментами времени. Для объектов pandas это означает использование объектов Timestamp. Список объектов Timestamp автоматически приводятся к DatetimeIndex.
Функция to_datetime() модуля pandas в Python.
Функция pandas.to_datetime() преобразует массив/список/кортеж скалярных значений, Series или DataFrame (словароподобный объект) в представление "datetime" библиотеки pandas (зависит от типа передаваемого объекта).
Функция date_range() модуля pandas в Python.
Функция pandas.date_range() возвращает диапазон равномерно распределенных временных точек (где разница между любыми двумя соседними точками определяется заданной частотой periods) таким образом, чтобы все они удовлетворяли условию start <[=] x <[=] end. Возвращает DatetimeIndex.
Объекты Categorical и CategoricalIndex модуля pandas.
Объект pandas.CategoricalIndex() представляет собой тип индекса, который полезен для поддержки индексации дубликатов. Это контейнер вокруг элементов pandas.Categorical(), который позволяет эффективно индексировать и хранить индекс с большим количеством повторяющихся элементов.
Объекты Interval и IntervalIndex модуля pandas.
Объект pandas.IntervalIndex вместе со своим собственным типом IntervalDtype, а также скалярным типом Interval обеспечивает первоклассную поддержку записи интервалов. Представляет собой контейнер объектов Interval.
Функция interval_range() модуля pandas в Python.
Функция interval_range() создает и возвращает IntervalIndex фиксированной частоты по заданным параметрам.
Объекты Period и PeriodIndex модуля pandas.
Во многих случаях более естественно связывать какие-то данные, с временным интервалом (промежутком времени). Для обычных промежутков времени pandas использует объекты Period и PeriodIndex для последовательностей промежутков времени (интервалов).
Метод to_period() объектов DatetimeIndex/DataFrame/Series в pandas.
Метод DataFrame.to_period() модуля pandas преобразует DataFrame с DatetimeIndex в PeriodIndex. По умолчанию преобразовывается индекс. Метод DatetimeIndex.to_period() преобразует DatetimeIndex в PeriodIndex.
Функция period_range() модуля pandas в Python.
Функция period_range() модуля pandas создает и возвращает PeriodIndex с фиксированной частотой по заданным параметрам. Частотой по умолчанию является календарный день.
Объект RangeIndex модуля pandas.
Объект pandas.RangeIndex - это подкласс Index, который предоставляет индекс по умолчанию для всех объектов DataFrame и Series. RangeIndex - это оптимизированная версия индекса Index, которая представляет монотонный упорядоченный набор. Аналогичен range() в Python. Всегда имеет тип dtype: int64.
Функция read_csv() модуля pandas в Python.
Функция read_csv() модуля pandas читает файл с данными, разделенных запятыми (CSV), в DataFrame. Поддерживает опциональную итерацию или разбиение файла на куски. Имеет очень много принимаемых аргументов.
Создание DataFrame из нескольких файлов CSV в pandas.
Создание DataFrame из нескольких файлов CSV в pandas#
Чтение файлов со столбцами фиксированной ширины в pandas.
Функция pandas.read_fwf() модуля pandas читает таблицу форматированных строк фиксированной ширины в DataFrame. Также поддерживает опциональную итерацию или разбиение файла на куски.
Метод DataFrame.to_csv() модуля pandas в Python.
Метод DataFrame.to_csv() модуля pandas записывает объект DataFrame в файл значений, разделенных запятыми (CSV).
Функция read_excel() модуля pandas в Python.
Функция read_excel() модуля pandas считывает файл Excel в DataFrame. Поддерживает возможность чтения одного листа или списка листов. Поддерживает расширения файлов xls, xlsx, xlsm, xlsb, odf, ods и odt, считываемые из локальной файловой системы или URL-адреса.
Метод DataFrame.to_excel() модуля pandas в Python.
Метод DataFrame.to_excel() модуля pandas записывает объект DataFrame в рабочий лист Excel. Чтобы записать один объект в файл Excel .xlsx, необходимо только указать имя целевого файла. Для записи нескольких листов необходимо создать объект ExcelWriter с именем целевого файла и указать лист...
Функция read_sql() модуля pandas в Python.
Функция read_sql() модуля pandas считывает SQL-запрос или таблицу базы данных в DataFrame. pandas.read_sql() является удобной оберткой двух функций pandas.read_sql_table() и pandas.read_sql_query() (для обратной совместимости).
Метод DataFrame.to_sql() модуля pandas в Python.
Метод DataFrame.to_sql() модуля pandas пишет записи, хранящиеся в DataFrame, в базу данных SQL. Поддерживаются базы данных, используемые в SQLAlchemy. Таблицы можно создавать заново, добавлять к ним или перезаписывать.
Примеры групповых операций в pandas со StackOverflow.
Примеры различных ситуации с групповыми операциями в pandas, собранные со StackOverflow. Базовая группировка GroupBy.apply(), применение GroupBy.apply() к различным элементам в группе, использование GroupBy.get_group(), выбор строки с максимальным значением из каждой группы и т.д.
Метод round() объектов Series/DataFrame в pandas.
Методы DataFrame.round() и Series.round() модуля pandas округляют Series/DataFrame до определенного количества десятичных знаков.
Функция to_numeric() модуля pandas в Python.
Функция pandas.to_numeric() модуля pandas преобразует аргумент в числовой тип. Тип возвращаемого значения по умолчанию - float64 или int64, в зависимости от предоставленных данных. Для получения других типов dtypes необходимо использовать аргумент downcast.
Метод .compare() объектов Series/DataFrame в pandas.
Методы DataFrame.compare() и Series.compare сравнивает собственный объект с другим other объектом (DataFrame/Series) и показывает различия. Результирующий индекс будет MultiIndex с поочередным расположением объектов self и other на внутреннем уровне.
Метод .align() объектов Series/DataFrame в pandas.
Метод DataFrame.align() и Series.align() модуля выравнивает два объекта по их осям axis с помощью указанного метода соединения join. Метод соединения указывается для каждого индекса оси.
Polars быстрая библиотека DataFrame для Python.
Материал содержит ключевые моменты, которые должен знать каждый, кто имеет опыт общения с pandas и хочет попробовать Polars. Включены как различия в концепциях, на которых построены библиотеки, так и различия в том, как следует писать код Polars по сравнению с кодом Pandas.
Пакет FireDucks, быстрый и полностью совместимый с API pandas.
FireDucks - ускоренная компилятором библиотека DataFrame для Python с полностью совместимым API pandas (без каких-либо изменений кода вручную). FireDucks разработан сотрудниками отдела исследований и разработок NEC(Япония). Доступна на платформах Linux.