Pandas — это библиотека для Python, с которой обязательно нужно познакомиться тем, кто использует Питон для работы с данными, тем более что в этом сегменте Пандас является одной из самых продвинутых и быстроразвивающихся библиотек.
Pandas отличается высокой производительностью, так как является библиотекой высокого уровня и построена поверх библиотеки низкого уровня NumPy, последняя написана на Си.
Сегодня мы разберем азы работы с библиотекой Pandas, например:
как создать dataframe;
сортировка dataframe;
и другая работа с данными.
Устанавливаем Пандас Питон
Чтобы начать работать с Пандас Питон, у вас должна быть установлена версия Питона не ниже 2.7. Если Python установлен, тогда можно приступать к инсталляции этой библиотеки.
Когда вы в работе используете «Conda», тогда установка Пандас происходит по следующей команде:
conda install pandas
Когда вы в работе используете PIP, тогда установка Пандас происходит по следующей команде:
pip3.7 install pandas
После инсталляции нашей библиотеки с ней нужно наладить взаимодействие. Для этого необходимо импортировать Пандос и обязательно NumPy в свой скрипт Питона. Это делается очень просто, в скрипт нужно добавить следующие строчки кода:
import pandas as pd
import numpy as np
Библиотека Pandas Python: основы
Библиотека Pandas Python несет в себе 3 основные структуры данных:
Series — это небольшой объект, похожий на одномерный массив, который не изменяет свои размеры;
DataFrame — это объект, обладающий табличной структурой данных, который может изменять свои размеры;
Panel — это объект, который имеет структуру трехмерного массива, способного изменять свои размеры.
Как создать DataFrame в Pandas
DataFrame в Pandas играет очень важную роль, так как данная структура данных является основным и стандартным способом хранения информации. Она содержит строки и столбцы, поэтому очень похожа на привычную всем электронную таблицу или таблицу SQL.
Чтобы создать объект DataFrame в Pandas, можно применить следующий конструктор:
pandas.DataFrame(data, index, columns, dtype, copy)
Краткое пояснение конструктора:
data — это создание объекта DataFrame из входных данных, в роли таких данных могут выступать: списки, другие объекты DataFrame, Series, массивы NumPy и др.;
index — презентует строковые метки;
columns — применяется для конструирования подписей столбцов;
dtype — является необязательным параметром, а вообще указывает типы данных столбцов;
copy — применяется при копировании данных, когда нужно.
Создать DataFrame в Pandas можно несколькими путями, например, можно использовать:
список словарей Питона;
просто словарь Питона;
список кортежей;
CSV-файл;
Excel-файл;
и мн. др.
Живой пример, как происходит создание DataFrame из списка словарей Питона:
import pandas as pd
import numpy as np
df = pd.DataFrame ({
“Country“: [ `Austria`, `Sweden`, `Poland`],
“Capital“: [`Vienna`, `Stockholm`, `Warsaw`],
“Catholics %“: [27, 28, 29]
})
print(df)
Результатом такого исполнения будет таблица:
Country
Capital
Catholics %
0
Austria
Vienna
27
1
Sweden
Stockholm
28
2
Poland
Warsaw
29
Первым шагом мы создали словарь
Вторым шагом мы передали наш словарь аргументом в методе DataFrame()
Третьим шагом мы вывели наш DataFrame при помощи print()
Как видно из вывода, наш DataFrame очень похож на таблицу, по крайней мере заголовки и все данные отображаются в табличном виде, а в самом левом столбце мы можем наблюдать метки каждой строки.
Создание DataFrame в Pandas при помощи CSV
Как мы уже говорили, в Pandas создать DataFrame можно разными путями, например, импортировать информацию из файла CSV. Для подобного импорта в Пандас есть специальный метод read_csv(), который позволяет читать CSV-файл.
Допустим, у нас есть некий CSV-файл «example.csv», тогда на практике это будет выглядеть следующим образом:
import pandas as pd
data = pd.read_csv(`example.csv`)
print(data)
Работа с данными DataFrame
В принципе, вы уже знаете, как создать DataFrame в Pandas. Но при помощи Питона в Пандас можно удобно работать с данными. Разберем несколько способов работы с данными.
1. Можно получить статистическую сводку, например:
print(df[`Catholics %`].describe())
Где за вывод статистики отвечает «df.describe()»
2. Можно отсортировать записи, например:
print(df.sort_values(`Catholics %`, ascending=False))
3. Можно «нарезать» записи, например:
print(df[[`Country`, `Capital`]])
При этом «нарезать» записи мы можем не только по заголовкам, но также для этого можно использовать индекс строк или столбцов. Для этой операции нам понадобится функция «iloc[]». Например, если нам нужно будет поработать с первой строкой DataFrame, то функция будет такой: «df.iloc[0,:]».
Если нам нужно вывести конкретный элемент таблицы, то мы можем также использовать эту функцию, но нужно будет прописать индекс строки и столбца элемента. К примеру, нам нужно вывести первый элемент второго столбца, тогда функция будет выглядеть так: «df.loc[0,1]». В нашей DataFrame это будет «Vienna».
4. Можно отфильтровать данные, например:
print(df[df[`Catholics %`]>20])
Для фильтрации условий применяют операторы сравнения.
5. Можно переименовать столбики в DataFrame, например:
df.rename(columns = {`Catholics %` : `Orthodoxy %`}, inplace=True)
print(df.head)
После такой небольшой процедуры наш столбец «Catholics» переименуется в «Orthodoxy».
Series в Pandas Python
Мы уже отмечали, что Series — это небольшой объект, который похож на одномерный массив, но от таких массивов Series отличает наличие индекса для каждого элемента.
Например, создаем и выводим Series:
import pandas as pd
Capital_series = pd.Series([Vienna, Stockholm, Warsaw])
print(Capital_series)
На выходе мы получим следующее:
0
Vienna
1
Stockholm
2
Warsaw
Где 0, 1, 2 — это индексы элементов Series. Сами Series могут быть элементами DataFrame. А с элементами Series можно проводить абсолютно любые операции.
Заключение
В этой статье мы показали, как установить Pandas, как создать DataFrame и как можно работать с элементами DataFrame. Сама библиотека Пандас Питон — это очень обширный функционал при работе с данными. Мы приоткрыли лишь небольшую его часть. Кому интересно подробнее разобраться в Pandas, могут изучить официальную документацию к этому документу по ссылке.
Другое