5 лучших функций Pandas, необходимых для специалистов по данным [2022]
Опубликовано: 2021-01-02Pandas , безусловно, является одной из наиболее часто используемых и любимых библиотек, когда речь идет о науке о данных и анализе данных с помощью Python. Что делает его особенным? В этом уроке мы рассмотрим 5 таких функций, которые делают Pandas чрезвычайно полезным инструментом в наборе инструментов Data Scientist.
К концу этого руководства вы будете иметь представление о следующих функциях в Pandas и о том, как использовать их для своих приложений:
- value_counts
- группа по
- лок и илок
- уникальный и нуник
- Вырезать и qcut
Оглавление
Лучшие функции Pandas для специалистов по данным
1. значение_счетчиков ()
Функция Pandas value_counts() используется для отображения количества всех уникальных элементов в столбцах фрейма данных.
Совет для профессионалов: Для демонстрации я буду использовать набор данных Titanic.
Теперь, чтобы найти количество классов в функции Embarked, мы можем вызвать функцию value_counts:
поезд[ 'Отправлен' ].value_counts() |
#Выход: С 644 С 168 Вопрос 77 |
Кроме того, если эти числа не имеют особого смысла, вместо этого вы можете просмотреть их проценты:
поезд[ 'Отправлен' ].value_counts(normalize= True ) |
#Выход: S 0,724409 С 0,188976 Q 0,086614 |
Более того, value_counts по умолчанию не учитывает NaN или отсутствующие значения, что очень важно проверять. Для этого вы можете установить для параметра dropna значение false.
поезд[ 'Отправлен' ].value_counts(dropna= False ) |
#Выход: С 644 С 168 Вопрос 77 NaN 2 |
2. группа_по()
С помощью Pandas group_by мы можем разделить и сгруппировать наш фрейм данных по определенным столбцам, чтобы иметь возможность просматривать шаблоны и детали в данных. Group_by включает в себя 3 основных шага: разделение, применение и объединение.
train.groupby( 'Секс' ).mean() |
Выход:
Как видите, мы сгруппировали фрейм данных по признаку «пол» и агрегировали с использованием средних значений.
Вы также можете построить его, используя встроенную визуализацию Pandas:
df.groupby( 'Пол' ).sum().plot(kind= 'bar' ) |
Мы также можем сгруппировать, используя несколько функций для иерархического разделения.
df.groupby([ 'Пол' , 'Выжил' ] )[ 'Выжил' ].count() |
Должен прочитать: вопросы интервью Pandas
3. лок и илок
Индексирование в Pandas — одна из самых основных операций, и лучший способ сделать это — использовать либо loc, либо iloc. «Loc» означает местоположение, а «i» — индексированное местоположение. Другими словами, если вы хотите проиндексировать фрейм данных, используя имена или метки столбцов/строк, вы должны использовать loc. И когда вы хотите проиндексировать столбцы или строки, используя позиции, вы должны использовать функцию iloc. Сначала проверим лок .
train.loc[ 2 , 'секс' ] |
Приведенная выше операция дает нам элемент индекса строки 2 и столбца «пол». Точно так же, если бы вам понадобились все значения столбца пола, вы бы сделали:
train.loc[:, 'секс' ] |
Кроме того, вы можете отфильтровать несколько столбцов, например:
train.loc[:, 'секс' , 'Отправлен' ] |
Вы также можете отфильтровать, используя логические условия в loc, например:
train.loc[train.age >= 25 ] |
Чтобы просмотреть только определенные строки, вы можете разрезать кадр данных, используя loc:
train.loc[ 100 : 200 ] |
Кроме того, вы можете нарезать фрейм данных по оси столбца следующим образом:
train.loc[:, 'пол' : 'тариф' ] |
Вышеупомянутая операция будет нарезать фрейм данных из столбца «пол» в «тариф» для всех строк.
Теперь давайте перейдем к iloc. iloc индексирует только с помощью номеров индексов или позиций. Вы можете нарезать кадры данных, например:
train.iloc [ 100 : 200 , 2 : 9 ] |
Описанные выше операции будут нарезать строки со 100 по 199 и столбцы со 2 по 8. Точно так же, если вы хотите разделить данные по горизонтали, вы можете сделать:
train.iloc[: 300 , :] |
4. уникальный() и уникальный()
Pandas unique используется для получения всех уникальных значений любой функции. Это в основном используется для получения категорий в категориальных функциях данных. Unique показывает все уникальные значения, включая NaN. Он рассматривает его как другое уникальное значение. Давайте взглянем:
поезд[ 'секс' ].unique() |
#Выход: [ 'женщина' , 'мужчина' ] |
Как мы видим, это дает нам уникальные значения признака «пол».
Точно так же вы также можете проверить количество уникальных значений, поскольку в некоторых функциях может быть много уникальных значений.

поезд[ 'секс' ].nunic() |
#Выход: 2 |
Однако вы должны иметь в виду, что nunique() не рассматривает NaN как уникальные значения. Если в ваших данных есть какие-либо NaN, вам нужно передать параметр dropna как False, чтобы убедиться, что Pandas дает вам счет, включая NaN.
поезд[ 'секс' ].nunic(dropna= False ) |
#Выход: 3 |
5. вырезать() и qcut()
Pandas cut используется для группировки значений в диапазонах, чтобы дискретизировать функции. Давайте погрузимся в него. Биннинг означает преобразование числового или непрерывного признака в дискретный набор значений на основе диапазонов непрерывных значений. Это удобно, когда вы хотите увидеть тенденции в зависимости от того, в какой диапазон попадает точка данных.
Давайте разберемся в этом на небольшом примере.
Предположим, у нас есть оценки для 7 детей в диапазоне от 0 до 100. Теперь мы можем присвоить оценки каждого ребенка определенной «корзине».
df = pd.Dataframe (данные = { 'Имя' : [ 'Ck' , 'Рон' , 'Мэт' , 'Джош' , 'Тим' , 'SypherPK' , 'Дью' , 'Вин' ], «Отметки» : [ 37 , 91 , 66 , 42 , 99 , 81 , 45, 71 ] }) df[ 'marks_bin' ] = pd.cut(df[ 'Marks' ], bins=[ 0 , 50 , 70 , 100 ], labels=[ 1 , 2 , 3 ]) |
Затем мы можем просто добавить вывод в качестве новой функции, а функцию меток можно удалить. Новый кадр данных выглядит примерно так:
#Выход: Имя Знаки mark_bin 0 ск 37 1 1 Рон 91 3 2 Мат 66 2 3 Джош 42 1 4 Тим 99 3 5 СайферПК 81 3 6 Роса 45 1 7 Вин 71 3 |
Итак, когда я говорю bins = [ 0 , 50 , 70 , 100 ] , это означает, что есть 3 диапазона:
от 0 до 50 для корзины 1,
от 51 до 70 для ячейки 2 и
с 71 по 100, принадлежащие ячейке 3.
Итак, теперь наша функция содержит не оценки, а диапазон или ячейку, к которой относятся оценки для этого ученика.
Подобно cut(), Pandas также предлагает родственную функцию qcut() . Pandas qcut принимает количество квантилей и делит точки данных на каждую ячейку на основе распределения данных. Итак, мы можем просто изменить функцию cut в приведенном выше примере на qcut:
df[ 'marks_bin' ] = pd.qcut(df[ 'Marks' ], q= 3 , labels=[ 1 , 2 , 3 ]) |
В приведенной выше операции мы говорим Pandas разрезать функцию на 3 равные части и присвоить им метки. Вывод выглядит следующим образом:
Имя Знаки mark_bin 0 ск 37 1 1 Рон 91 3 2 Мат 66 2 3 Джош 42 1 4 Тим 99 3 5 СайферПК 81 3 6 Роса 45 1 7 Вин 71 2 |
Обратите внимание, как последнее значение изменилось с 3 на 2.
Читайте также: Pandas Dataframe Astype
Прежде чем ты уйдешь
Мы видели некоторые наиболее часто используемые функции Pandas. Но это не единственные, которые важны, и мы рекомендуем вам узнать больше о наиболее часто используемых функциях Pandas. Это хороший и эффективный подход, поскольку вы можете использовать не все функции, которые есть в Pandas, а только некоторые из них.
Изучите курсы по науке о данных в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Почему библиотека Pandas так популярна?
Эта библиотека действительно очень популярна среди ученых и аналитиков данных. Причиной этого является отличная поддержка большого количества форматов файлов и богатый набор функций для управления извлеченными данными. Он может легко интегрироваться с другими библиотеками и пакетами, такими как NumPy.
Эта мощная библиотека предоставляет различные полезные функции для гибкого управления огромными наборами данных. Как только вы освоите его, вы сможете легко выполнять большие задачи с помощью нескольких строк кода.
Что такое функция слияния и для чего она используется?
Функция слияния — это специальная функция фрейма данных Pandas, которая используется для слияния нескольких строк или столбцов двух фреймов данных. Это операция соединения с большим объемом памяти, напоминающая реляционные базы данных. Вы можете использовать on = Имя столбца, чтобы объединить фреймы данных в общем столбце.
Вы можете обновить left_on = имя столбца или right_on = имя столбца, чтобы выровнять таблицы, используя столбцы из левого или правого фрейма данных в качестве ключей.
Помимо библиотеки Pandas, какие есть другие библиотеки Python для науки о данных?
Помимо библиотеки Pandas, существует множество библиотек Python, которые считаются одними из лучших библиотек для обработки данных. К ним относятся PySpark, TensorFlow, Matplotlib, Scikit Learn, SciPy и многие другие. Каждый из них широко используется благодаря своим уникальным и удивительным характеристикам и функциям.
Каждая библиотека имеет свое значение, например, SciKit Learn чаще используется, когда вам приходится иметь дело со статистическими данными. Помимо анализа данных, вы также можете создавать информационные панели и визуальные отчеты, используя функции, предоставляемые этими удивительными библиотеками.