Освоение Pandas: важные функции Pandas для вашего следующего проекта

Опубликовано: 2020-11-30

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

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

Прежде чем двигаться дальше, вот краткая легенда:

  • Все упомянутые команды предполагают, что фрейм данных называется «df», который является объектом pd.DataFrame().
  • Библиотека Pandas была импортирована как псевдоним «pd».

Оглавление

Строковые аксессоры

Строковые или текстовые данные составляют основную часть набора данных. Будь то информация, связанная с автором, названием, публикацией книги или твитами, сделанными для определенного хэштега, у нас есть много текстовых данных, и эти данные пригодятся, если их правильно очистить и передать любому классификатору, такому как Наивный Байес и т. д. , Вот несколько приемов, которые вы можете применить:

  • Чтобы получить доступ к данным строкового типа, используйте метод доступа 'str'. Например, df['имя_столбца'].str
  • Это позволяет выполнять все строковые операции над выбранным столбцом.
  • Некоторые общие операции включают,
    • df['column_name'].str.len(): длина каждой строки
    • .str.split(): разделение по определенному символу
    • .str.contains(): возвращает T/F о том, присутствует ли конкретное слово в строке.
    • .str.count(): возвращает количество строк, удовлетворяющих переданному регулярному выражению.
    • .str.findall(): возвращает результаты, соответствующие переданному выражению.
    • .str.replace(): То же, что и findall, но здесь происходит замена совпадающих элементов.
    • Поддерживаются все строковые операции, такие как .title, .isalpha, .isalnum, .isdecimal и т.д.

Читайте также: Pandas Dataframe Astype

Средства доступа к дате и времени

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

  • Чтобы получить доступ к данным DateTime, преобразуйте текущий тип данных (значения даты анализируются как строка или объект) в DateTime с помощью функции pd.to_datetime().
  • Теперь, используя метод доступа '.dt', мы можем получить доступ к любой необходимой информации DateTime, такой как:
    • df['column_name'].dt.day: возвращает день даты.
    • .dt.time: Время
    • .dt.year: год даты
    • .dt.month: месяц даты
    • .dt.weekday: Воскресенье, понедельник... в числовой форме, где 0 означает понедельник. Если вам нужны названия дней, используйте .dt.day_name
    • .dt.is_month_start: возвращает T/F в зависимости от того, является ли дата первым числом месяца.
    • .dt.is_month_end Та же функциональность, что и month_start, но здесь проверяется последняя дата месяца.
    • .dt.quater: возвращает, в каком квартале находится дата
    • .dt.is_quater_start: возвращает T/F независимо от того, является ли дата первым днем ​​квартала.
    • .dt.is_quater_end: является ли это последним днем ​​квартала
    • .dt.normalize: Когда компонент времени не добавляет ценного вклада в анализ, его можно игнорировать. Эта команда округляет время до полуночи, т.е. до 00:00:00.

Панды

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

Графики выполняются в основном с помощью других библиотек, таких как seaborn, plotly, bokeh, matplotlib, но когда вы хотите мгновенно визуализировать данные без явного определения библиотек? Панды нашли решение. Используя функцию pd.plot(), вы можете напрямую строить графики, которые вызываются внутри с помощью matplotlib. Для этого доступны различные варианты:

  • df.plot() или df['column_name'].plot() (в зависимости от типа графика)
  • df.plot() имеет параметр «вид», который определяет график. По умолчанию это «линейный» график, но доступны и другие варианты: «bar», «barh», «box», «hist», «kde» и т. д.
  • Он вызывает бэкэнд matplotlib, что означает, что мы можем получить доступ к его аргументам через метод доступа «ax».
  • Функция .plot() также может принимать такие аргументы, как «title», «xticks», «xlim», «xlabel», «fontsize», «colormap», что в некоторой степени устраняет необходимость определения внешних библиотек.

Прочие функции

  • pd.get_dummies(): при предварительной обработке данных иногда мы сталкиваемся с категориальными данными, которые необходимо преобразовать в числовую форму для подачи в модель. Когда эти категории довольно низки, предпочтительнее однократное кодирование, но выполнение этого вручную требует времени. Эта фиктивная функция не только преобразует значения, но, если для параметра drop_first задано значение True, удаляется предыдущий столбец, содержащий все категории.
  • df.query(): это функция, которая позволяет применять условную маску к фрейму данных. Основное различие между этим и обычным маскированием заключается в том, что эта функция напрямую возвращает значения вместо логической маски, уменьшая усилия по созданию маски и применению ее к фрейму данных.
  • df.select_dtypes(): иногда нам нужно выполнить некоторые конкретные задачи для одного типа данных. Например, при чтении данных из внешних файлов некоторые типы данных определяются как объекты. При очистке данных набор данных должен иметь все правильные типы данных, и делать это вручную с помощью df.astype('data-type') было бы утомительно, если количество таких типов данных велико. Эта функция выбирает указанный тип данных и может быть объединена с функцией .apply(). Пример кода будет выглядеть так:

df.select_dtypes(объект).apply(astype(str))

Должен прочитать: вопросы интервью Pandas

Заключение

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

Если вам интересно узнать о Pandas, ознакомьтесь с дипломом PG IIIT-B и upGrad в области науки о данных, который создан для работающих профессионалов и предлагает более 10 тематических исследований и проектов, практические практические семинары, наставничество с отраслевыми экспертами, 1-на -1 с отраслевыми наставниками, более 400 часов обучения и помощи в трудоустройстве в ведущих фирмах.