Ежедневные функции pandas, используемые специалистами по данным

Нет, это не гигантский черно-белый медведь, поедающий бамбук из Китая.

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

Зачем нужно знать панд?

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

2. Когда специалистов по обработке данных спросили…

«Какой язык программирования вы бы порекомендовали выучить в первую очередь вдохновляющим специалистам по данным»

в опросе Kaggle 79% сказали, что Python.

Python быстро становится лучшим языком для изучения для тех, кто занимается наукой о данных, и знание одной из его самых мощных библиотек стало обязательным требованием.

Итак, со всем сказанным, давайте перейдем к мелочам и рассмотрим 5 функций Pandas, которые вдохновляют специалистов по данным.

1) .loc [строка, столбец]

.loc, возможно, самая важная и используемая функция в библиотеке panda. Функция используется для индексации фреймов данных для доступа к определенным строкам или столбцам.

Входные параметры .loc [] включают строки, которые вы хотите проиндексировать как первый вход, и столбцы, которые вы хотите проиндексировать как вторые. Эти входные данные могут быть целыми числами или метками.

Давайте продемонстрируем возможности этой функции и применим ее на некоторых примерах.

Пример кода:

  1. Верните 6 из столбца B
df.loc[2,'B']

2. Вернуть весь столбец C

df.loc[:,'C']

3. Вернуть всю строку 1

df.loc[1,:]

4. Верните 4 и 5 из столбца B

df.loc[0:1,'B']

2) .merge ()

Как и соединения в SQL, функция слияния в pandas объединяет фреймы данных вместе на основе индекса или ключевого столбца.

Входные параметры включают:

  • on - здесь вы вводите столбцы, в которых хотите, чтобы произошло соединение.
  • как - Выберите, какой тип соединения вы хотите. Можно выбрать одно из следующих значений: {«левый», «правый», «внешний», «внутренний», «крестообразный»}. По умолчанию используется «внутреннее соединение».

Важно понимать слияние, потому что чаще всего вы будете иметь дело с несколькими наборами данных.

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

Пример кода:

1. Соедините два фрейма данных вместе

df1.merge(df2, on = ['C'], how = 'inner')

Результат:

3) .apply ()

Функция .apply () работает именно так, как предполагает ее название. Он применяет функцию к столбцу или строке.

Вход .apply () будет конкретной функцией. Эта функция может уже существовать в Python, или вы можете создать свою собственную.

Позвольте мне продемонстрировать и то, и другое.

Пример кода:

1. Возвести в квадрат все значения в столбце C

df['C'].apply(np.sqrt) #uses the square root function from numpy

2. Добавьте 2 к каждому числу в столбце A

df['A'].apply(lambda x: x + 2)

3. Создайте свою собственную функцию, в которой, если значение больше 5, верните True, если не верните False. Применить ко всему фрейму данных.

def above(x):
   if x > 5:
      return True
   else:
      return False
df.apply(above)

4) .groupby ()

Одна из наиболее продвинутых функций pandas, .groupby () создает разные группы по значениям в столбце.

Основной входной параметр - по, который соответствует столбцу (столбцам), по которому вы хотите сгруппировать.

Допустим, у меня есть данные о 1000 человек, в которых указана страна, в которой они живут, и их зарплата. Если я хочу увидеть зарплаты всех людей в одной стране, я могу использовать функцию .groupby () с «by» для столбца страны.

Кроме того, функция .groupby () обычно используется с функцией агрегирования. К ним относятся сумма, среднее, минимальное, максимальное и т. Д.

Итак, если мы хотим увидеть среднюю зарплату в каждой стране, код будет выглядеть примерно так…

df.groupby(by = ['Country']).mean()

5) .drop_duplicates ()

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

.drop_duplicates () решает одну из этих проблем, и я оставлю вам решать, какая именно.

Входные параметры .drop_duplicates () включают:

  • подмножество - вместо того, чтобы отбрасывать дубликаты по всему фрейму данных, он удаляет дубликаты только во введенных вами столбцах.
  • keep - Определяет, какие дубликаты следует сохранить. ‘first’: отбрасывайте дубликаты, кроме первого вхождения. ‘last’: удаление дубликатов, кроме последнего. «False»: удаление всех дубликатов.
df.drop_duplicates(subset = ['C'], keep = 'first')
#removes duplicate values from column C

Бонус: .read_csv ()

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

Большинство наборов данных, которые вы найдете, будут в файле CSV (значения, разделенные запятыми), и для импорта этого набора данных в Python вы можете использовать функцию .read_csv ().

Основным входным параметром является путь к файлу набора данных.

import pandas as pd #this imports the pandas library in Python
df = pd.read_csv(C:\Documents\dataset.csv) 

Последний совет

Если вы еще не используете Python, рано или поздно вы это сделаете.

В 2020 году сообщалось, что в 90% объявлений о вакансиях в области науки о данных в LinkedIn упоминался Python.

Python во многом связан с его самыми известными библиотеками Numpy и Pandas. Это означает, что если компании требуют, чтобы вы знали Python, они также просят вас знать его библиотеки.

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

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