24 Важные функции Pandas, которые необходимо знать для каждого анализа данных
![](/static/storage/212698004645699053450012597675237794465.png)
Python — один из самых популярных и быстрорастущих языков программирования в мире. Он имеет сильную поддержку сообщества, и вы можете найти пакет практически для любой области, такой как разработка программного обеспечения, веб-разработка, анализ данных и т. д.
Pandas - это одна из таких мощных библиотек python для анализа данных, которая используется для структурирования, изменения и манипулирования данными. Он построен на пакете NumPy, и его ключевая структура данных известна как DataFrame. DataFrame позволяет нам хранить табличные данные в строках и столбцах.
В этой статье мы рассмотрим 24 наиболее мощных функции Pandas, которые необходимы для любого анализа. Использование этих функций поможет вам понять, что возможно с Pandas, и сэкономить время при следующем анализе данных.
24 мощных функции Pandas
Мы начнем с импорта необходимых пакетов:
import numpy as np
import pandas as pd
Теперь давайте посмотрим на функции:
1. read_csv, read_excel
Наиболее распространенным способом создания DataFrame является чтение данных из различных форматов файлов, таких как CSV, Excel и текстовые файлы.
Мы можем прочитать CSV или текстовый файл как DataFrame pandas, используя функцию read_csv(), как показано ниже:
df_1 = pd.read_csv('filename.txt')
df_2 = pd.read_csv('filename.csv')
Если у нас есть файл Excel вместо файла CSV, мы будем использовать pd.read_excel.
df_3 = pd.read_excel('filename.xlsx')
Обычно функцию head() используют после read_csv или read_excel, чтобы просмотреть несколько верхних строк фрейма данных.
df_1.head() ## return top 5 rows by default
Если мы хотим просмотреть 10 верхних строк DataFrame, мы можем указать это в функции head:
df_1.head(10) ## This will return top 10 rows
Пример
В приведенном ниже коде мы читаем набор данных о конфигурации мобильных устройств с помощью функции read_csv() и просматриваем 5 верхних строк. Мы будем использовать этот набор данных для большинства наших примеров.
![Верхние 5 строк DataFrame](/static/storage/305997482766679089482358655010819494238.png)
2. info()
Функция info помогает нам собирать информацию или обзор наших наборов данных, таких как количество строк и столбцов, название столбцов, тип данных столбцов и количество ненулевых точек данных в каждом из столбцов.
dataset.info()
Пример
![Info в Pandas](/static/storage/130146372761728692288191099993028004508.png)
3. columns
При работе с наборами данных, содержащими много столбцов (более 10-12), мы не можем видеть все столбцы с помощью функции head. Используя функцию «columns», мы можем напечатать имена всех столбцов нашего DataFrame:
df.columns
Пример
![columns в pandas](/static/storage/56392812165228016472917383748212010721.png)
4. iloc()
Функция iloc() используется для фильтрации/извлечения данных с использованием индексов строк и столбцов в качестве параметров. Индексы начинаются с 0, то есть на первую строку или столбец будет ссылаться индекс 0.
df.iloc[row_index, column_index]
Пример
Извлечение первой строки DataFrame.
![Извлечение 1-й строки DataFrame](/static/storage/299336750459479738867783661483339501409.png)
Извлечение значения, соответствующего 1-й строке и 1-му столбцу DataFrame.
![Извлечение значения в 1-й строке и 1-м столбце](/static/storage/41196665860470325007321417716861754783.png)
Мы также можем извлечь ряд строк и столбцов. Приведенный ниже код извлекает первые 10 строк (индекс 10 не является частью выходных данных) и столбцы с индексами от 1 до 4 (индекс 5 не является частью выходных данных).
df.iloc[:10,1:5]
5. loc()
Функция loc() почти аналогична функции .iloc(). Используя функцию, мы можем указать индекс строки и имя столбца, который мы хотим извлечь. Ниже приведен синтаксис:
df.loc[row_index, column_name]
Пример
![](/static/storage/339396885082590077721342405328531209081.png)
6. corr()
Функция corr() дает корреляцию между всеми комбинациями столбцов набора данных. Корреляция — очень полезный статистический показатель, который очень помогает в анализе. Если два столбца имеют высокую корреляцию (0,8+), то мы можем игнорировать один из столбцов нашего анализа.
df.corr()
Пример
![Корреляционная функция](/static/storage/291220839366923773231535341685559487587.png)
7. describe()
Функцию description() можно использовать для предоставления некоторых основных статистических показателей всего набора данных или нескольких столбцов, в зависимости от потребностей пользователя.
### show summary statistics of all
### the numeric features by default
df.describe()
Пример
![describe в pandas](/static/storage/315245674164268903004459429190966330671.png)
Сводную статистику по всем столбцам (числовым и категориальным) мы можем увидеть, используя аргумент — include = ‘all’.
df.describe(include = 'all')
8. drop()
Мы можем отбросить/удалить некоторые ненужные столбцы/строки, используя df.drop(). Аргумент оси используется, чтобы указать, хотим ли мы удалить строки или столбцы DataFrame. Axis = 0 для строк и Axis = 1 для столбцов.
df = df.drop(column, axis = 1) ## dropping a column
Пример
![Удаление столбцов DataFrame](/static/storage/334742975013705762482120093619453800758.png)
Мы видим, что общее количество столбцов уменьшилось с 21 до 20.
9. shape
Функция shape используется для определения количества строк и столбцов DataFrame.
df.shape
Пример
![](/static/storage/183816356372775044266121663425891945758.png)
10. isnull()
Функция isnull() используется для проверки наличия нулевых значений в DataFrame. Он возвращает True (или 1) для нулевых значений и False (или 0) для ненулевых значений.
Функция isnull() обычно используется вместе с функцией sum() для определения количества нулевых значений в разных столбцах DataFrame.
df.isnull().sum()
Пример
![isnull](/static/storage/281432587160903764041164685702857658600.png)
11. groupby()
Функция groupby() используется для суммирования данных. Мы можем сгруппировать данные по определенной переменной/столбцу и узнать полезную информацию о группах.
df.groupby(['column1']).aggregate_function()
В этом примере мы будем использовать другой набор данных, чтобы четко объяснить функцию groupby(). Мы создаем набор данных с информацией о выбросах углерода различных моделей автомобилей.
![Создание DataFrame с использованием словаря](/static/storage/68684503483574885325443545275864922564.png)
Найдем средние выбросы углекислого газа каждым автомобилем.
Пример
![](/static/storage/139233400101246370236955667107886142447.png)
Функция groupby() группирует набор данных по столбцу «автомобиль» и находит средние выбросы CO2 для автомобилей.
12. select_dtypes()
Можно выбрать столбцы определенного типа данных с помощью функции select_dtypes().
df.select_dtypes('data_type')
Пример
![](/static/storage/120925692477215552065175476610066553619.png)
Мы видим, что выбрано только 19 столбцов, так как два других столбца имеют тип «float64».
13. sample()
Когда размер набора данных слишком велик, работа над полным набором данных занимает много времени и замедляет ход анализа. Решение состоит в том, чтобы взять образец, представляющий набор данных, для выполнения анализа и прогнозного моделирования. Эту функцию можно использовать для получения определенного числа или определенной доли точек данных.
df.sample(n = 200) ### extracting 200 random samples
Пример
![](/static/storage/158628105905575730749268163514550298742.png)
Это случайно выбранные 200 строк из общего числа 2000 строк в исходном наборе данных.
14. unique()
Функция unique() используется для поиска уникальных значений в столбце. Важно отметить, что уникальная функция применима только к серии pandas, а не к DataFrame, т. е. ее можно применять только к столбцу набора данных, а не ко всему набору данных.
df['column'].unique()
Пример
![](/static/storage/337521301942150758344086956384238721753.png)
Функция len(), используемая вместе с функцией unique(), дает количество уникальных значений в столбце DataFrame.
15. nunique()
Функция nunique() используется для определения количества уникальных значений в столбце. Функцию len(), использовавшуюся вместе с функцией unique() в предыдущей функции, можно заменить на функцию nunique().
df.nunique()
Пример
![Функция nunique](/static/storage/178274493742283433779855192883295910105.png)
16. replace()
Функция замены заменяет значения столбца значением, определенным пользователем. Нам нужно предоставить старое значение и новые значения в качестве аргументов функции replace().
df.replace(old_value, new_value)
Мы будем использовать пользовательский DataFrame для следующего примера.
Пример
![](/static/storage/251145533386583947546393312674182439265.png)
17. drop_duplicates()
Функция drop_duplicates(), как следует из названия, удаляет повторяющиеся строки из нашего набора данных. Хранение повторяющихся значений в нашем наборе данных влияет на генерируемую информацию, поэтому очистка данных важна, чтобы избежать просчетов.
df.drop_duplicates(subset,keep)
Аргумент подмножества используется для указания столбца/столбцов, для которых мы хотим удалить дубликаты.
Параметр «keep» используется для определения того, какое значение из повторяющихся значений следует сохранить. Если мы хотим сохранить первое встречающееся значение, мы используем keep = ‘first’, иначе ‘last’.
Пример
![DataFrame](/static/storage/326208273695193667268515291922545536765.png)
![Drop Duplicates](/static/storage/182166985214290241845869034309445752016.png)
18. set_index()
Функция set_index() используется для установки индекса DataFrame. Столбец DataFrame можно использовать в качестве нового индекса.
df.set_index('column_name')
Пример
![](/static/storage/297886165057675939758402632965244860372.png)
19. value_counts()
Функция value_counts возвращает частоту уникальных элементов в столбце DataFrame.
df.value_counts()
Пример
![](/static/storage/296919250780155675673798544811810376174.png)
20. rank()
Функция rank() присваивает ранг столбцам DataFrame. Ранг, связанный со столбцом, увеличивается по мере увеличения значения в столбце (по возрастанию по умолчанию). Мы также можем применить ранг в нисходящей последовательности.
df.rank()
Пример
![Функция Rank](/static/storage/318761122406054682462127473563590036410.png)
В приведенном выше примере ранг устанавливается на основе столбца co2. Ранг увеличивается с увеличением значения co2, и если 2 строки имеют одинаковое значение co2, то ранг представляет собой среднее значение двух рангов.
21. Bar plot
Гистограмма используется для отображения частоты значений в категориальном столбце. Это график, в котором используются прямоугольные столбцы с высотой, пропорциональной значениям, которые они представляют, для отображения категории данных.
Пример
![Bar plot](/static/storage/163663745860560545809196066676774634381.png)
22. Line plot
Линейный график чаще всего используется для представления изменения числовых значений во времени (дни, месяцы, годы и т. д.). Простая функция plot() строит линейный график.
Пример
Чтобы показать линейный график, мы будем использовать синтетические данные временного ряда.
![](/static/storage/335992737962507624148698045522381557038.png)
Ось X представляет дни, а ось Y представляет значения, связанные с днями.
Функция ylim() используется для установки значения оси Y в 0.
23. Scatter plot
Диаграмма рассеяния показывает связь между двумя непрерывными переменными и отображает ее с помощью точек. Он также используется для визуализации корреляции между двумя переменными.
Пример
На приведенном ниже графике мы показываем связь между числами и их квадратами значений.
![](/static/storage/5976141925656890791001249650197434296.png)
24. Histogram
Гистограмма — это график, показывающий частотное распределение диапазонов значений (бинов) числового столбца. Он покажет частоту значений (по оси Y), которые попадают в определенный диапазон значений (по оси X).
Пример
Мы будем использовать наш старый набор данных для демонстрации гистограммы.
![](/static/storage/91033374666205339393653678221831045425.png)
В этой статье мы указали важные функции Pandas, по нашему мнению, для каждого специалиста по науке о данных.