0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Этот пакет из экосистемы Python стал стандартом для работы с табличной информацией. Его выбирают исследователи, аналитики и разработчики, когда нужно удобно хранить и преобразовывать наборы значений, объединённые в столбцы и строки.</p>
1
<p>Этот пакет из экосистемы Python стал стандартом для работы с табличной информацией. Его выбирают исследователи, аналитики и разработчики, когда нужно удобно хранить и преобразовывать наборы значений, объединённые в столбцы и строки.</p>
2
<h2>История и развитие</h2>
2
<h2>История и развитие</h2>
3
<p>Идея создать удобный инструмент для манипуляции табличными наборами принадлежит Уэсу Маккини. Работая в финансовой сфере, он столкнулся с тем, что классические статистические среды удобны, но замкнуты, а Python гибок, но не предоставляет компактных операций для "плоских" структур. Так появился проект, который затем был открыт сообществу.</p>
3
<p>Идея создать удобный инструмент для манипуляции табличными наборами принадлежит Уэсу Маккини. Работая в финансовой сфере, он столкнулся с тем, что классические статистические среды удобны, но замкнуты, а Python гибок, но не предоставляет компактных операций для "плоских" структур. Так появился проект, который затем был открыт сообществу.</p>
4
<p>Со временем пакет стал основой для огромного числа инструментов вокруг: визуализации, работы с временными рядами, интеграции с big data-платформами. Сейчас это один из самых узнаваемых элементов современной аналитической экосистемы.</p>
4
<p>Со временем пакет стал основой для огромного числа инструментов вокруг: визуализации, работы с временными рядами, интеграции с big data-платформами. Сейчас это один из самых узнаваемых элементов современной аналитической экосистемы.</p>
5
<h2>Ключевые объекты</h2>
5
<h2>Ключевые объекты</h2>
6
<p>В центре работы - три основных сущности, позволяющих гибко управлять табличной информацией.</p>
6
<p>В центре работы - три основных сущности, позволяющих гибко управлять табличной информацией.</p>
7
<h3>Одинарная последовательность</h3>
7
<h3>Одинарная последовательность</h3>
8
<p>Структура, хранящая значения одного столбца и набор меток. Удобна, когда нужно работать с единым рядом: категориями, числовой последовательностью, результатами вычислений.</p>
8
<p>Структура, хранящая значения одного столбца и набор меток. Удобна, когда нужно работать с единым рядом: категориями, числовой последовательностью, результатами вычислений.</p>
9
<h3>Двумерная форма</h3>
9
<h3>Двумерная форма</h3>
10
<p>Её можно представить как коллекцию столбцов, связанных общим набором индексов. Здесь чаще всего ведут основную работу: комбинируют источники, сортируют строки, пересчитывают показатели, строят сводки.</p>
10
<p>Её можно представить как коллекцию столбцов, связанных общим набором индексов. Здесь чаще всего ведут основную работу: комбинируют источники, сортируют строки, пересчитывают показатели, строят сводки.</p>
11
<h3>Индексы</h3>
11
<h3>Индексы</h3>
12
<p>Служебные метки, которые определяют, по каким ключам обращаться к элементам. Это может быть простой числовой ряд, временная шкала или многоуровневый набор категорий.</p>
12
<p>Служебные метки, которые определяют, по каким ключам обращаться к элементам. Это может быть простой числовой ряд, временная шкала или многоуровневый набор категорий.</p>
13
<p>Такая модель делает работу понятной и приближенной к логике электронных таблиц, но дает намного больше гибкости.</p>
13
<p>Такая модель делает работу понятной и приближенной к логике электронных таблиц, но дает намного больше гибкости.</p>
14
<h2>Базовые операции</h2>
14
<h2>Базовые операции</h2>
15
<h3>Импорт разных форматов</h3>
15
<h3>Импорт разных форматов</h3>
16
<p>Пакет позволяет загружать CSV, Excel, Parquet, JSON и многие другие форматы. Пример:</p>
16
<p>Пакет позволяет загружать CSV, Excel, Parquet, JSON и многие другие форматы. Пример:</p>
17
<h3>Выборка строк</h3>
17
<h3>Выборка строк</h3>
18
<p>Фильтрация по условию выполняется в одну строку:</p>
18
<p>Фильтрация по условию выполняется в одну строку:</p>
19
<h3>Сводные вычисления</h3>
19
<h3>Сводные вычисления</h3>
20
<p>Группировки, расчёты средних, суммы, медианы:</p>
20
<p>Группировки, расчёты средних, суммы, медианы:</p>
21
<h3>Объединение наборов</h3>
21
<h3>Объединение наборов</h3>
22
<p>Есть механизмы, похожие на SQL-операции join, что позволяет связывать несколько таблиц по общим ключам.</p>
22
<p>Есть механизмы, похожие на SQL-операции join, что позволяет связывать несколько таблиц по общим ключам.</p>
23
<p>Отлично, продолжаю вторую часть Pandas - так же аккуратно, без спама, с мягкими заменами и ровной подачей.</p>
23
<p>Отлично, продолжаю вторую часть Pandas - так же аккуратно, без спама, с мягкими заменами и ровной подачей.</p>
24
<h2>Визуализация и расширения</h2>
24
<h2>Визуализация и расширения</h2>
25
<p>Хотя пакет ориентирован на работу с табличными наборами, он хорошо сочетается с инструментами построения графиков.</p>
25
<p>Хотя пакет ориентирован на работу с табличными наборами, он хорошо сочетается с инструментами построения графиков.</p>
26
<h3>Графики</h3>
26
<h3>Графики</h3>
27
<p>Для вывода диаграмм и линий чаще всего используют:</p>
27
<p>Для вывода диаграмм и линий чаще всего используют:</p>
28
<ul><li><strong>matplotlib</strong>- базовый инструмент для построения графиков;</li>
28
<ul><li><strong>matplotlib</strong>- базовый инструмент для построения графиков;</li>
29
<li><strong>seaborn</strong>- надстройку, которая ускоряет создание более выразительных визуализаций.</li>
29
<li><strong>seaborn</strong>- надстройку, которая ускоряет создание более выразительных визуализаций.</li>
30
</ul><p>Оба инструмента принимают объекты Pandas напрямую, что упрощает передачу столбцов на график.</p>
30
</ul><p>Оба инструмента принимают объекты Pandas напрямую, что упрощает передачу столбцов на график.</p>
31
<h3>Временные ряды</h3>
31
<h3>Временные ряды</h3>
32
<p>Удобство работы с датами - одна из сильных сторон пакета. Можно менять частоту, вычислять скользящие величины, строить окна и лаги. Это делает инструмент популярным в финансовых задачах, исследовании логов или активности пользователей.</p>
32
<p>Удобство работы с датами - одна из сильных сторон пакета. Можно менять частоту, вычислять скользящие величины, строить окна и лаги. Это делает инструмент популярным в финансовых задачах, исследовании логов или активности пользователей.</p>
33
<h2>Примеры практических задач</h2>
33
<h2>Примеры практических задач</h2>
34
<h3>Работа с CSV и Excel</h3>
34
<h3>Работа с CSV и Excel</h3>
35
<p>Типичный сценарий - загрузить файл, привести столбцы к нужным типам, удалить пропуски и сохранить результат:</p>
35
<p>Типичный сценарий - загрузить файл, привести столбцы к нужным типам, удалить пропуски и сохранить результат:</p>
36
<h3>Очистка и подготовка</h3>
36
<h3>Очистка и подготовка</h3>
37
<p>Удобно удалять дубли, заменять текстовые значения, нормализовать категории, проверять корректность числовых столбцов.</p>
37
<p>Удобно удалять дубли, заменять текстовые значения, нормализовать категории, проверять корректность числовых столбцов.</p>
38
<h3>Объединение источников</h3>
38
<h3>Объединение источников</h3>
39
<p>Когда есть несколько таблиц - продажи, товары, география - Pandas позволяет объединять их в один набор для дальнейшей работы.</p>
39
<p>Когда есть несколько таблиц - продажи, товары, география - Pandas позволяет объединять их в один набор для дальнейшей работы.</p>
40
<h3>Временные ряды</h3>
40
<h3>Временные ряды</h3>
41
<p>Пересчёт интервалов (hour → day), скользящие средние, поиск трендов - всё это можно сделать несколькими вызовами.</p>
41
<p>Пересчёт интервалов (hour → day), скользящие средние, поиск трендов - всё это можно сделать несколькими вызовами.</p>
42
<h2>Проблемы и оптимизация</h2>
42
<h2>Проблемы и оптимизация</h2>
43
<h3>Производительность</h3>
43
<h3>Производительность</h3>
44
<p>Основная сложность - работа с очень большими наборами. Пакет хранит всё в оперативной памяти, поэтому для десятков миллионов строк ограничивающим фактором становится объём RAM.</p>
44
<p>Основная сложность - работа с очень большими наборами. Пакет хранит всё в оперативной памяти, поэтому для десятков миллионов строк ограничивающим фактором становится объём RAM.</p>
45
<h3>Подходы к ускорению</h3>
45
<h3>Подходы к ускорению</h3>
46
<ul><li>использование типов с меньшим потреблением памяти;</li>
46
<ul><li>использование типов с меньшим потреблением памяти;</li>
47
<li>чтение данных порциями (chunksize);</li>
47
<li>чтение данных порциями (chunksize);</li>
48
<li>переход на форматы Parquet/Feather;</li>
48
<li>переход на форматы Parquet/Feather;</li>
49
<li>применение векторизованных операций вместо Python-циклов.</li>
49
<li>применение векторизованных операций вместо Python-циклов.</li>
50
</ul><h3>Работа с большими объёмами</h3>
50
</ul><h3>Работа с большими объёмами</h3>
51
<p>Для тяжелых сценариев применяют решения, совместимые по синтаксису:</p>
51
<p>Для тяжелых сценариев применяют решения, совместимые по синтаксису:</p>
52
<ul><li><strong>Dask</strong>- распределенная обработка;</li>
52
<ul><li><strong>Dask</strong>- распределенная обработка;</li>
53
<li><strong>PySpark</strong>- масштабирование вычислений;</li>
53
<li><strong>PySpark</strong>- масштабирование вычислений;</li>
54
<li><strong>Polars</strong>- новый высокопроизводительный инструмент на базе Apache Arrow.</li>
54
<li><strong>Polars</strong>- новый высокопроизводительный инструмент на базе Apache Arrow.</li>
55
</ul><h2>Современные тренды</h2>
55
</ul><h2>Современные тренды</h2>
56
<h3>Pandas 2.0</h3>
56
<h3>Pandas 2.0</h3>
57
<p>В новых версиях пакет получает более быстрый движок обработки, улучшения по части типов и оптимизации.</p>
57
<p>В новых версиях пакет получает более быстрый движок обработки, улучшения по части типов и оптимизации.</p>
58
<h3>Интеграция с big data</h3>
58
<h3>Интеграция с big data</h3>
59
<p>Экосистема Arrow, обработка Parquet, взаимодействие с распределенными вычислительными кластерами - всё это делает Pandas частью более крупной архитектуры.</p>
59
<p>Экосистема Arrow, обработка Parquet, взаимодействие с распределенными вычислительными кластерами - всё это делает Pandas частью более крупной архитектуры.</p>
60
<h3>Рост альтернатив</h3>
60
<h3>Рост альтернатив</h3>
61
<p>Polars, DuckDB и другие решения предлагают новые подходы к работе с табличными наборами, оставляя Pandas основной точкой входа, но не единственным вариантом.</p>
61
<p>Polars, DuckDB и другие решения предлагают новые подходы к работе с табличными наборами, оставляя Pandas основной точкой входа, но не единственным вариантом.</p>