Шпаргалка по минимально достаточному количеству панд
Эта статья резюмирует очень подробное руководство, представленное в Минимально достаточных пандах.
Начните осваивать науку о данных прямо сейчас бесплатно!
Пройдите мой бесплатный курс 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, чтобы получить пожизненный доступ ко всем текущим и будущим курсам. Некоторые из курсов, которые он содержит:
- Exercise Python - всестороннее введение в Python (200+ страниц, 100+ упражнений)
- Анализ основных данных с помощью Python - самый полный курс, доступный для изучения панд. (800+ страниц и 350+ упражнений)
- Осваивайте машинное обучение с помощью Python - глубокое погружение в машинное обучение с постоянно обновляемым scikit-learn, демонстрирующим новейшие и лучшие инструменты. (300+ страниц)