Шпаргалка по минимально достаточному количеству панд

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

Начните осваивать науку о данных прямо сейчас бесплатно!

Пройдите мой бесплатный курс Intro to Pandas, чтобы начать свое путешествие с освоения анализа данных с помощью Python.

Что такое минимально достаточные панды?

  • Это небольшое подмножество библиотеки, которого достаточно для выполнения почти всего, что она может предложить.
  • Это позволяет вам сосредоточиться на анализе данных, а не на синтаксисе.

Какую пользу принесет вам минимально достаточное количество панд?

  • Все общие задачи анализа данных будут использовать один и тот же синтаксис.
  • Чем меньше команд, тем легче будет зафиксировать в памяти
  • Ваш код будет легче понять другим и вам
  • Будет проще запустить код Pandas в производство
  • Это снижает вероятность попадания на жучок Pandas.

Специальное руководство

Выбор одного столбца данных

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

>>> df[‘colname’] # do this
>>> df.colname    # not that

Устаревший индексатор ix

Индексатор ix неоднозначен и сбивает с толку (и теперь устарел), поскольку он позволяет выбирать как по метке, так и по целочисленному положению. Все следы ix должны быть удалены и заменены явнымиlocили iloc индексаторами.

Выбор с помощью at и iat

Индексаторы at и iat дают небольшое увеличение производительности при выборе одной ячейки DataFrame. Используйте массивы NumPy, если ваше приложение зависит от производительности при выборе одной ячейки данных, а не at или iat.

read_csv vs read_table

Единственное различие между этими двумя функциями - разделитель по умолчанию. Используйте read_csv для всех случаев, поскольку read_table не рекомендуется.

isna против isnull и notna против notnull

isna - это псевдоним isnull, а notna - псевдоним notnull. Используйте isna и notna, так как они заканчиваются на "na", как и другие методы пропущенного значения fillna и dropna.

Арифметические операторы и операторы сравнения против методов

Используйте операторы (+, *, >, <= и т. Д.), А не соответствующие им методы (add, mul, gt, le и т. Д.…) Во всех случаях, кроме случаев крайней необходимости, например, когда вам нужно изменить направление выравнивание.

Встроенные функции Python и одноименные методы Pandas

Используйте метод Pandas для любой встроенной функции Python с тем же именем.

Стандартизация groupby aggregation

Для агрегирования groupby доступно несколько различных синтаксисов. Используйте df.groupby('grouping column').agg({'aggregating column': 'aggregating function'}), так как он может обрабатывать более сложные случаи.

Обработка MultiIndex

DataFrame с MultiIndex дает мало преимуществ по сравнению с одноуровневым индексом. Я не рекомендую их использовать. Вместо этого сгладьте их после вызова groupby путем переименования столбцов и сброса индекса.

Эквивалентность groupby агрегирования и pivot_table

Агрегирование groupby и pivot_table производят одни и те же точные данные с разной формой. Используйте gropuby, если хотите продолжить анализ, и pivot_table, если хотите сравнить группы.

Эквивалентность pivot_table и pd.crosstab

Метод pivot_table и функция crosstab очень похожи. Используйте crosstab только для определения относительной частоты.

сводная таблица против сводной_таблицы

Метод pivot сводит данные без агрегирования. Можно дублировать его функциональность с pivot_table, выбрав функцию агрегирования. Рассмотрите возможность использования только pivot_table, а не pivot.

Сходство между расплавом и штабелем

Оба метода melt и stack изменяют форму данных очень похожим образом. Используйте melt вместо stack, потому что это позволяет вам переименовывать столбцы и позволяет избежать MultiIndex.

Сходство между pivot и unstack

И pivot, и unstack работают с изменением формы данных одинаково, но, как показано выше, pivot_table может обрабатывать все случаи, которые pivot может, поэтому я предлагаю использовать его поверх обоих остальных.

Лучшее из DataFrame API

Приведенные выше примеры являются наиболее распространенными областями Pandas, где пользователям доступны несколько вариантов. Есть много других атрибутов и методов, которые не обсуждаются. Ниже я предоставляю категоризированный список минимального количества атрибутов и методов DataFrame, которые могут выполнить почти все ваши задачи анализа данных. Это сокращает количество с более 240 до менее 80.

Атрибуты

  • столбцы
  • dtypes
  • показатель
  • форма
  • T
  • ценности

Методы агрегирования

В результате получается одно значение для каждого столбца.

  • все
  • любой
  • считать
  • описывать
  • idxmax
  • idxmin
  • Максимум
  • иметь в виду
  • медиана
  • мин
  • Режим
  • уникальный
  • сумма
  • стандартное
  • вар

Статистические методы без агрегирования

  • пресс
  • зажим
  • корр
  • cov
  • cummax
  • тмин
  • шлепок
  • кончает
  • разница
  • n наибольший
  • самый маленький
  • pct_change
  • толкать
  • квантиль
  • классифицировать
  • круглый

Выбор подмножества

  • голова
  • iloc
  • место
  • хвост

Обработка отсутствующих значений

  • dropna
  • fillna
  • интерполировать
  • Исна
  • notna

Группировка

  • расширение
  • группа по
  • сводная_таблица
  • повторная выборка
  • прокатка

Объединение данных

  • добавить
  • слить

Другой

  • asfreq
  • тип
  • копировать
  • уронить
  • drop_duplicates
  • равно
  • в
  • таять
  • участок
  • переименовать
  • заменять
  • reset_index
  • образец
  • select_dtypes
  • сдвиг
  • sort_index
  • sort_values
  • to_csv
  • to_json
  • to_sql

Функции

  • pd.concat
  • pd.crosstab
  • pd.cut
  • pd.qcut
  • pd.read_csv
  • pd.read_json
  • pd.read_sql
  • pd.to_datetime
  • pd.to_timedelta

Магистр Python, Data Science и машинного обучения

Погрузитесь в мой комплексный путь к овладению наукой о данных и машинным обучением с помощью Python. Купите All Access Pass, чтобы получить пожизненный доступ ко всем текущим и будущим курсам. Некоторые из курсов, которые он содержит:

Получите All Access Pass прямо сейчас!