{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# pandas\n", "\n", "Удобную шпаргалку по pandas можно найти [здесь](https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf).\n", "\n", "## О pandas\n", "\n", "[pandas](https://pandas.pydata.org/) ([panel data](https://en.wikipedia.org/wiki/Panel_data), [панельных данных](https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BD%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5)) --- python библиотека для работы с таблицами и временными рядами. \n", "\n", "pandas --- сторонняя библиотека, но входит в дистрибутив `anaconda`.\n", "\n", "```console\n", "conda install pandas\n", "```\n", "или \n", "```console\n", "pip install anaconda\n", "```\n", "\n", "При импортировании `pandas` часто пользуются псевдонимом `pd`:\n", "```python\n", "import pandas as pd\n", "```\n", "\n", "Базовый туториал по работе с библиотекой от разработчиков можно найти [здесь](https://pandas.pydata.org/docs/getting_started/intro_tutorials/01_table_oriented.html#min-tut-01-tableoriented)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Основные объекты pandas\n", "\n", "Удобно думать об объектах `pandas` в иерархии: таблицы --- контейнер, содержащий более простые объекты --- столбцы, которые в свою очередь содержат ещё более простые объекты --- значения (единицу данных).\n", "\n", "### pandas.DataFrame\n", "\n", "[DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html#pandas.DataFrame) --- двумерная структура данных, которая может хранить данные разных типов в столбцах. \n", "\n", "```{figure} /_static/lecture_specific/pandas/dataframe.svg\n", "```\n", "\n", "Больше всего `DataFrame` напоминает лист (`SpreadSheet`) из `Excel` таблицы или `SQL` таблицу. Объекты `DataFrame` изменяемы, но с некоторыми ограничениями. Можно изменять значения в ячейках таблицы, добавлять новые столбцы на месте, но для добавления строк придется создать новый объект. Ниже приведен пример таблицы `pandas`, созданной из `python` словаря.\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Name | \n", "Age | \n", "Sex | \n", "
---|---|---|---|
0 | \n", "Ivan | \n", "22 | \n", "male | \n", "
1 | \n", "Alex | \n", "35 | \n", "male | \n", "
2 | \n", "Jane | \n", "58 | \n", "female | \n", "