5 лучших функций Pandas, необходимых для специалистов по данным [2022]

Опубликовано: 2021-01-02

Pandas , безусловно, является одной из наиболее часто используемых и любимых библиотек, когда речь идет о науке о данных и анализе данных с помощью 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 чаще используется, когда вам приходится иметь дело со статистическими данными. Помимо анализа данных, вы также можете создавать информационные панели и визуальные отчеты, используя функции, предоставляемые этими удивительными библиотеками.