Pandas для анализа данных. 33 функции библиотеки Pandas полезные в работе.
Когда дело доходит до науки о данных (или анализа данных), Python является наиболее предпочтительным языком. Его библиотека Pandas – это маст хэв для спициалиста по работе с данными. Это связанно с тем, что данная библиотека предоставляет множество функций и методов для ускорения процесса анализа данных. Функциональность, гибкость и простой синтаксис – вот три ключевые особенности, которые делают библиотеку Pandas такой распространённой. Pandas идеальная библиотека для анализа данных.
В этой статье я перечислю 33 лучших функций, встроенных в библиотеку Pandas, которые обычно используются для анализа данных, и, возможно, этих функций будет достаточно для выполнения какой-либо вашей задачи.
Давайте начнем исследовать функции Pandas!
@data_analysis_ml – секреты анализа данных для Python разработчиков
1. pd.read_csv (или) pd.read_excel
Первые функции, которая будет использоваться в этой статье, это read_csv или read_excel. Они используются для чтения файла excel или csv и преобразования его в формат датафрейм Pandas. Я буду использовать функцию pd.read_csv для чтения файла titanic.csv (по-классике).
Бонус: файл с расширением .txt также можно прочитать с помощью функции pd.read_csv.
2. head() & tail()
После чтения файла чаще всего используется функция head(), чтобы увидеть структуру данных. По умолчанию функция head() показывает первые 5 строк структуры данных:
По умолчанию функция tail() показывает последние 5 строк структуры данных:
3. Info()
Функция Info() в Pandas используется для получения краткой и суммарной сводки о данных. Это очень важно при проведении анализа данных.
4. Dtypes
Функция Dtypes используется для проверки типа данных всей структуры данных или для конкретного столбца.
5. Shape и Size
Функция Shape возвращает количество строк и столбцов той или иной структуры данных.
Функция Size возвращает точный размер структуры данных, который представляет собой количество строк, умноженное на количество столбцов.
6. Columns
Функция Columns используется для просмотра имен всех столбцов в структуре данных. Эта функция очень полезна в том случае, когда у нас большой набор данных. Функция столбцов выводит названия всех имеющихся столбцов.
7. Describe()
Для получения статистической сводки по каждому атрибуту набора данных, используется функция describe(). Следует заметить, что это довольно тяжёлая работу, которую за нас “исполняют панды”.
8. Isnull()
Функция Isnull() используется для проверки того, есть ли в структуре данных какие-либо пропущенные значения. Обработка пропущенных значений является наиболее важным шагом в процессе анализа данных, и это должно быть первоочередной задачей, поскольку данные с пропущенными значениями могут оказать значительное влияние на точность. Отсутствующие значения сопоставляются с True, а имеющиеся значения сопоставляются с False.
Общее количество пропущенных значений в структуре данных можно вычислить следующим образом:
9. Notnull()
Функция Notnull() в pandas проверяет наличие значений в структуре данных. Все имеющиеся значения сопоставляются с True, а пропущенные значения сопоставляются с False (является противоположностью предыдущей функции).
Общее количество имеющихся значений в структуре данных можно рассчитать следующим образом:
10. Isna()
Эта функция в Pandas используется для обнаружения отсутствующих значений (NaN), значения NaN в структуре данных сопоставляются с True, а значения, отличные от NaN, сопоставляются с False.
Общее количество пропущенных значений (NaN) в структуре данных может быть вычислено следующим образом:
11. Unique()
Функция Unique() в Pandas используется для поиска уникальных значений в столбце.
12. Nunique()
Nunique() – одна из наиболее важных функций в Pandas, поскольку она подсчитывает количество уникальных записей по столбцам или строкам.
13. Loc()
Pandas предоставляет потрясающий метод для фильтрации данных, который имеет название Loc() . Он принимает только метки индекса и, если он существует в вызывающей структуре, то возвращает строки или столбцы.
14. Iloc()
Функция Iloc() принимает индексы строк и столбцов в качестве входного параметра и возвращает вам подгруппу структуры данных.
15. Groupby()
Функция Groupby() позволяет разделить данные на группы, основываясь на некоторые критерии.
16. Dropna()
Функция Dropna() используется для удаления всех значений NaN из структуры данных.
17. Sorting()
Функция сортировки в Pandas используется для сортировки структуры данных, она в порядке возрастания или убывания. Для сортировки структуры данных по индексу используется функция sort_index.
Для сортировки структуры данных по значениям используется функция sort_values.
18. Replace()
Работа этой функции невероятно проста: она осуществляет замену какого-либо значения из одного места в другое.
19. Rename()
Эта функция используется для переименования столбцов в структуре данных. В этой статье я переименовываю “Sex” в “Gender”.
20. Fillna()
Когда мы имеем дело с большим набором данных, высока вероятность того, что данные содержат нулевые значения и отображаются как NaN. Функция Fillna() управляет и позволяет пользователю заменять значения NaN произвольным значением.
До использования функции:
После использования функции:
21. Insert()
Если мы хотим добавить новый столбец в структуре данных, он будет добавляться в конце (так устроено по-умолчанию). Однако Pandas предоставляет возможность вставить новый столбец туда, куда вам это необходимо сделать.
22. Isin()
Функция Isin() используется для группирования данных путём наличия общих признаков. Используя эту функцию, я собираюсь отфильтровать те данные, которые имеют следующие id пассажиров: 1,4,6,8.
23. Drop()
Функция Drop() используется для удаления ненужных столбцов в структуре данных.
24. Len()
Эта функция выводит длину всей структуры данных.
25. Where()
Функция Where() в Pandas используется с целью проверки структуры данных на наличие одного или нескольких условий и возврата соответствующего результата.
26. Nlargest() и Nsmallest()
Эти функции осуществляют поиск наибольших или наименьших значений в указанном месте структуры.
27. Query()
Эта функция используется для создания запроса структуры данных на основе какого-либо выражения. Выражение может быть таким же простым, как одно условие, а может быть таким сложным, как комбинация нескольких условий.
28. Corr()
Этот метод используется для определения попарных корреляций между всеми столбцами структуры данных.
29. Drop duplicates()
Для удаления повторов из структуры данных используется функция drop_duplicates.
30. Slicing()
Нарезка строк и столбцов с помощью указателей.
31. idxmin() и idxmax()
Да, я уже писал о них ранее, но они необходимы, чтобы этот пост имел смысл. Вы не сможете понять вторую полезную функцию, если не разберетесь предварительно с этими.
Вкратце, эти функции возвращают ID (индекс) нужной записи. Скажем, я создам следующий массив Pandas:
И хочу найти индексы наименьшего и наибольшего элементов. Разумеется, очень легко найти их и так, но никогда (я действительно имею в виду никогда) не бывает настолько мало данных в проектах.
Это означает, что эти функции вам точно пригодятся. Давайте посмотрим, как:
Имейте в виду, что функции возвращают индекс первого наблюдаемого наименьшего или наибольшего значений.
32. ne()
Эта функция стала для меня открытием. Некоторое время назад я работал с временными данными, и у меня возникли проблемы, когда несколько первых наблюдаемых значений были равны 0.
Проще говоря, представьте, что вы купили что-то, но не использовали в течение некоторого времени. Вещь находится в вашем распоряжении, но, раз вы ее не используете, потребление в этот период равно 0
. В случае, если меня интересует именно потребление и оно начинается с момента фактического использования вещи, функция ne() прекрасно подойдет.
Давайте рассмотрим следующий сценарий: у вас есть объект Pandas DataFrame с несколькими нулевыми значениями в начале:
Функция ne() вернет True, если текущее значение не равно заданному (скажем 0), и False в обратном случае:
Само по себе это не очень полезно. Помните, что выше я отметил, что вам нужно знать idxmax(), чтобы понять эту тему? Что ж, вот и оно, вы можете включить idxmax() в код ниже:
Итак, в индексе 6 у нас впервые появляется ненулевое значение. Еще раз — это пока еще не представляет большой ценности. А вот что действительно можно сделать, так это использовать эту информацию, чтобы DataFrame выводил только значения, начинающиеся с того момента, когда элемент был впервые использован:
И это полезно каждый раз, когда вы имеете дело с временными данными.
33. nsmallest() и nlargest()
Я думаю, вы догадались о назначении этих функций по именам. Скажем, я создам следующий объект DataFrame:
Давайте предположим, что это 5 записей баллов, полученных после написания теста. И нам нужно найти трех студентов, которые справились хуже всех:
Или трех студентов, которые справились лучше всех:
Эти две функции являются отличной заменой таким функциям, как sort_values().
Эти 3 функции взяты тут
Заключение
Без сомнения, библиотека Pandas обладает гораздо большим количеством функций, что делает ее гибкой и мощной для анализа данных.В этой статье я описал только основные её функции, которые, на мой взгляд, являются наиболее полезными, и если кто-то сможет их освоить, то он определенно сможет начать использовать Pandas для выполнения некоторых простых задач с анализом данных.