HTML Diff
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>