Архив рубрики ~Лента новостей~

Руководство для начинающих по Pandas DataFrames

Руководство для начинающих по Pandas DataFrames

Узнайте, как инициализировать фреймы данных из словарей, списков и массивов NumPy.

Делиться

NOVOSTI

Имея опыт работы с SQL, изучение Python для анализа данных оказалось довольно сложным. Синтаксис проще, это правда. Однако язык и терминология совершенно другие. В SQL вам придётся взаимодействовать с базами данных, таблицами и столбцами. Однако в Python для анализа данных вашей основной задачей будут структуры данных.

Структуры данных в Python подобны объектам хранения данных. Python включает в себя несколько встроенных структур данных, таких как списки, кортежи, множества и словари. Все они используются для хранения и обработки данных. Некоторые из них изменяемы (списки), а некоторые — нет (кортежи). Чтобы узнать больше о структурах данных Python, я настоятельно рекомендую прочитать книгу Уэса Маккинни «Python for Data Analysis». Я только начал её читать, и она, на мой взгляд, просто потрясающая.

В этой статье я собираюсь пошагово рассказать вам, что такое DataFrame в Pandas и как его создать.

Понять основы массивов

В Python есть библиотека NumPy; возможно, вы о ней слышали. Она в основном используется для математических и численных вычислений. Одна из её функций — создание массивов. Вы, возможно, задаётесь вопросом: что же такое массив?

Массив похож на список, но хранит только значения одного типа данных. Списки же могут хранить значения разных типов данных (целое число, текст, логическое значение и т. д.). Вот пример списка.

my_list = [1, «привет», 3.14, Истина]

Списки также изменяемы. Другими словами, вы можете добавлять и удалять элементы.

Вернёмся к массивам. В Numpy массивы могут быть многомерными — это называется ndarrays (N-мерные массивы). Например, импортируем библиотеку Numpy в Python.

импортировать numpy как np

Для создания простого массива в Numpy мы используем функцию np.array(). В этой функции хранится наш массив.

arr = np.array([1, 2, 3, 4, 5]) arr

Вот результат:

массив([1, 2, 3, 4, 5])

Для проверки типа данных.

тип(обр)

Мы получим тип данных.

numpy.ndarray

Массивы хороши тем, что с ними можно выполнять математические вычисления. Например,

обр*2

Результат:

массив([2, 4, 6, 8, 10])

Круто, правда?

Теперь, когда вы знакомы с основами массивов в Numpy, давайте углубимся в N-мерные массивы.

Массив, который вы видите выше, является одномерным (1D). Одномерные массивы, также известные как векторные массивы, состоят из последовательности значений. Например, [1,2,3,4,5]

Двумерные массивы (Matrix) могут хранить одномерные массивы в качестве значений. Подобно строкам таблицы в SQL, каждый одномерный массив представляет собой одну строку данных. Вывод представляет собой таблицу значений. Например:

импортировать numpy как np arr = np.array([[1, 2, 3], [4, 5, 6]]) arr

Выход:

[[1 2 3] [4 5 6]]

Трёхмерные массивы (тензоры) могут хранить двумерные массивы (матрицы). Например,

импортировать numpy как np arr = np.array([[[1, 2, 3], [4, 5, 6]], [[1, 2, 3], [4, 5, 6]]]) arr

Выход:

[[[1 2 3] [4 5 6]] [[1 2 3] [4 5 6]]]

Массив может иметь бесконечное число измерений в зависимости от объема данных, которые вы хотите хранить.

Создание фрейма данных из массива

Теперь, когда вы поняли суть массивов, давайте создадим на их основе DataFrame.

Сначала нам нужно импортировать библиотеки pandas и NumPy.

импортировать pandas как pd импортировать numpy как np

Далее создадим наш массив:

данные = np.массив([[1, 4], [2, 5], [3, 6]])

Здесь я создал двумерный массив. Pandas DataFrame может хранить только одномерные и двумерные массивы. Если вы попытаетесь передать трёхмерный массив, возникнет ошибка.

Теперь, когда у нас есть массив, давайте передадим его в DataFrame. Для создания DataFrame используйте функцию pd.DataFrame().

# создание DataFrame df = pd.DataFrame(data) # отображение DataFrame df

Выход

0 1 0 1 4 1 2 5 2 3 6

Пока выглядит неплохо. Но нужно немного отформатировать:

# создание фрейма данных df = pd.DataFrame(data, index=['row1', 'row2', 'row3'], columns=['col1', 'col2']) # отображение фрейма данных df

Выход

col1 col2 row1 1 4 row2 2 5 row3 3 6

Вот это уже лучше. Всё, что я сделал, — это переименовал строки, используя атрибут index, и столбцы, используя атрибут columns.

Вот и всё, у вас есть DataFrame. Всё очень просто. Давайте рассмотрим ещё несколько удобных способов создания DataFrame.

Создание DataFrame из словаря

Одна из встроенных структур данных в Python — это словари. По сути, словари используются для хранения пар «ключ-значение», где все ключи должны быть уникальными и неизменяемыми. Это обозначается фигурными скобками {}. Вот пример словаря:

dict = {«имя»: «Джон», «возраст»: 30}

Здесь ключи — имя и возраст, а значения — Алиса и 30. Всё просто. Теперь давайте создадим DataFrame из словаря.

имена = [«Джон», «Дэвид», «Джейн», «Мэри»] возраст = [30, 27, 35, 23]

Сначала я создал список для хранения нескольких имен и возрастов:

dict_names = {'Имена': имена, 'Возраст': возраст}

Затем я сохранил все значения в словаре и создал ключи для имен и возраста.

# Создание фрейма данных df_names = pd.DataFrame(dict_names) df_names

Выше представлен DataFrame, хранящий созданный нами словарь. Вот результат:

Имена Возраст 0 Джон 30 1 Дэвид 27 2 Джейн 35 3 Мэри 23

И вот, у нас есть DataFrame, созданный из словаря.

Создание DataFrame из CSV-файла

Вероятно, именно этот метод вы будете использовать чаще всего. В Pandas принято читать CSV-файлы при анализе данных. Аналогично открытию таблиц в Excel или импорту данных в SQL. В Python чтение CSV-файлов осуществляется с помощью функции read_csv(). Вот пример:

# чтение CSV-файла df_exams = pd.read_csv('StudentsPerformance.csv')

В некоторых случаях вам придется скопировать путь к файлу и вставить его как:

pd.read_csv(“C:datasuppliers lists — Sheet1.csv”)

Выход:

И вот так!

Подведение итогов

Создание объектов DataFrame в Pandas может показаться сложным, но на самом деле это не так. В большинстве случаев вы, вероятно, всё равно будете работать с CSV-файлами. Так что не переживайте. Надеюсь, эта статья оказалась для вас полезной. Буду рад узнать ваше мнение в комментариях. Спасибо за прочтение!

Хотите познакомиться? Не стесняйтесь поздороваться на этих платформах.

LinkedIn

Твиттер

Ютуб

Середина

Источник: towardsdatascience.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Архив рубрики ~Коротко из Telegram~ Поселил ИИ‑агента в чёлку макбука: он слушает мой день и… Архив рубрики ~Коротко из Telegram~ Немой парень впервые признался в любви СИЛОЙ МЫСЛИ — его………… Новости робототехники GM делает ставку на вычислительные технологии и искусственный интеллект, которые, по её мнению, помогут ей конкурировать с китайскими автопроизводителями. Архив рубрики ~Коротко из Telegram~ В легендарный Need for Speed: Underground 2 теперь можно поиграть… Архив рубрики ~Коротко из Telegram~ ИИ придумал пистолет, и его напечатали на 3D-принтере Однозарядный пистолет… Архив рубрики ~Коротко из Telegram~ В Швейцарии с помощью бактерий разработали печатный материал, похожий на бетон Архив рубрики ~Коротко из Telegram~ Модели искусственного интеллекта позволили России применять технологии для лучших крылатых… Архив рубрики ~Коротко из Telegram~ Преимущества использования искусственного интеллекта в медицине зависят от уровня подготовки… Архив рубрики ~Коротко из Telegram~ Почему синтаксис Nova выглядит так: 11 споров с Claude о… Архив рубрики ~Коротко из Telegram~ [Перевод] О сознании и интегрированной информации. Кристоф Кох (интервью) Сознанием… Архив рубрики ~Коротко из Telegram~ Больше половины отпечатков пальцев на терракотовых воинах оставили женщины и… Архив рубрики ~Коротко из Telegram~ В ИТМО учат роботов понимать пространство, а не просто видеть…… Архив рубрики ~Коротко из Telegram~ Теперь можно буквально заглянуть внутрь любого механизма. Claude Code научили…… Архив рубрики ~Коротко из Telegram~ PS5 снова взломали — хакер запустил меню разработчика на последней…… Архив рубрики ~Коротко из Telegram~ Поселил ИИ‑агента в чёлку макбука: он слушает мой день и… Архив рубрики ~Коротко из Telegram~ Немой парень впервые признался в любви СИЛОЙ МЫСЛИ — его………… Новости робототехники GM делает ставку на вычислительные технологии и искусственный интеллект, которые, по её мнению, помогут ей конкурировать с китайскими автопроизводителями. Архив рубрики ~Коротко из Telegram~ В легендарный Need for Speed: Underground 2 теперь можно поиграть… Архив рубрики ~Коротко из Telegram~ ИИ придумал пистолет, и его напечатали на 3D-принтере Однозарядный пистолет… Архив рубрики ~Коротко из Telegram~ В Швейцарии с помощью бактерий разработали печатный материал, похожий на бетон Архив рубрики ~Коротко из Telegram~ Модели искусственного интеллекта позволили России применять технологии для лучших крылатых… Архив рубрики ~Коротко из Telegram~ Преимущества использования искусственного интеллекта в медицине зависят от уровня подготовки… Архив рубрики ~Коротко из Telegram~ Почему синтаксис Nova выглядит так: 11 споров с Claude о… Архив рубрики ~Коротко из Telegram~ [Перевод] О сознании и интегрированной информации. Кристоф Кох (интервью) Сознанием… Архив рубрики ~Коротко из Telegram~ Больше половины отпечатков пальцев на терракотовых воинах оставили женщины и… Архив рубрики ~Коротко из Telegram~ В ИТМО учат роботов понимать пространство, а не просто видеть…… Архив рубрики ~Коротко из Telegram~ Теперь можно буквально заглянуть внутрь любого механизма. Claude Code научили…… Архив рубрики ~Коротко из Telegram~ PS5 снова взломали — хакер запустил меню разработчика на последней……