Ежедневные функции pandas, используемые специалистами по данным
Нет, это не гигантский черно-белый медведь, поедающий бамбук из Китая.
Pandas - это библиотека на Python, ориентированная на обработку и анализ данных. Библиотека предлагает различные функции, используемые для управления и изменения структур данных и наборов данных.
Зачем нужно знать панд?
- 80% работы специалистов по обработке данных - это очистка наборов данных. Наборы данных очищаются с помощью функций, которые удаляют или изменяют значения. Большая часть этих функций взята из библиотеки Pandas.
2. Когда специалистов по обработке данных спросили…
«Какой язык программирования вы бы порекомендовали выучить в первую очередь вдохновляющим специалистам по данным»
в опросе Kaggle 79% сказали, что Python.
Python быстро становится лучшим языком для изучения для тех, кто занимается наукой о данных, и знание одной из его самых мощных библиотек стало обязательным требованием.
Итак, со всем сказанным, давайте перейдем к мелочам и рассмотрим 5 функций Pandas, которые вдохновляют специалистов по данным.
1) .loc [строка, столбец]
.loc, возможно, самая важная и используемая функция в библиотеке panda. Функция используется для индексации фреймов данных для доступа к определенным строкам или столбцам.
Входные параметры .loc [] включают строки, которые вы хотите проиндексировать как первый вход, и столбцы, которые вы хотите проиндексировать как вторые. Эти входные данные могут быть целыми числами или метками.
Давайте продемонстрируем возможности этой функции и применим ее на некоторых примерах.
Пример кода:
- Верните 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.