HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Где используется модуль</a></li>
1 <ul><li><a>Где используется модуль</a></li>
2 <li><a>Типы данных</a><ul><li><a>Series - описание</a></li>
2 <li><a>Типы данных</a><ul><li><a>Series - описание</a></li>
3 <li><a>DataFrame - что это</a><ul><li><a>Импортирование CSV</a></li>
3 <li><a>DataFrame - что это</a><ul><li><a>Импортирование CSV</a></li>
4 </ul></li>
4 </ul></li>
5 </ul></li>
5 </ul></li>
6 <li><a>Работа со столбцами</a><ul><li><a>Простой подход</a></li>
6 <li><a>Работа со столбцами</a><ul><li><a>Простой подход</a></li>
7 <li><a>По индексу</a></li>
7 <li><a>По индексу</a></li>
8 <li><a>Метки</a></li>
8 <li><a>Метки</a></li>
9 <li><a>Специальная функция</a><ul><li><a>Assign и Insert - разница</a></li>
9 <li><a>Специальная функция</a><ul><li><a>Assign и Insert - разница</a></li>
10 </ul></li>
10 </ul></li>
11 <li><a>Удаление</a></li>
11 <li><a>Удаление</a></li>
12 <li><a>Выбор</a></li>
12 <li><a>Выбор</a></li>
13 </ul></li>
13 </ul></li>
14 <li><a>Быстрое изучение</a></li>
14 <li><a>Быстрое изучение</a></li>
15 </ul><p>Pandas - специальная программная библиотека, оснащенная открытым исходным кодом. Предназначается для разработки на Python и широко используется при обработке и анализе данных.</p>
15 </ul><p>Pandas - специальная программная библиотека, оснащенная открытым исходным кодом. Предназначается для разработки на Python и широко используется при обработке и анализе данных.</p>
16 <p>Данный модуль поддерживает несколько типов данных:</p>
16 <p>Данный модуль поддерживает несколько типов данных:</p>
17 <ul><li>DataFrame;</li>
17 <ul><li>DataFrame;</li>
18 <li>Series;</li>
18 <li>Series;</li>
19 <li>Panel.</li>
19 <li>Panel.</li>
20 </ul><p>Последний используется редко, поэтому ему уделять внимание не будем. Далее предстоит разобраться с операциями с DataFrame. Пример - добавление колонок.</p>
20 </ul><p>Последний используется редко, поэтому ему уделять внимание не будем. Далее предстоит разобраться с операциями с DataFrame. Пример - добавление колонок.</p>
21 <h2>Где используется модуль</h2>
21 <h2>Где используется модуль</h2>
22 <p>Но перед непосредственной работой с упомянутым модулем, необходимо выяснить, когда и где он пригодится. Пандас используется при:</p>
22 <p>Но перед непосредственной работой с упомянутым модулем, необходимо выяснить, когда и где он пригодится. Пандас используется при:</p>
23 <ol><li>Аналитике данных. Библиотека позволяет подготовить информацию для дальнейшей обработки. Она поможет удалить или заполнить пропуски, организовать сортировку или внести те или иные изменения.</li>
23 <ol><li>Аналитике данных. Библиотека позволяет подготовить информацию для дальнейшей обработки. Она поможет удалить или заполнить пропуски, организовать сортировку или внести те или иные изменения.</li>
24 <li>Data Science. С его помощью можно подготовить и первично проанализировать информацию. Все это помогает машинному и глубокому обучению.</li>
24 <li>Data Science. С его помощью можно подготовить и первично проанализировать информацию. Все это помогает машинному и глубокому обучению.</li>
25 <li>Статистике. У Pandas (PD) присутствует поддержка ключевых статистических методов. Они используются для более быстрой и эффективной обработки информации. Пример - расчет средних значений.</li>
25 <li>Статистике. У Pandas (PD) присутствует поддержка ключевых статистических методов. Они используются для более быстрой и эффективной обработки информации. Пример - расчет средних значений.</li>
26 </ol><p>Pandas - инструмент, который используется для грамотной и быстрой визуализации имеющихся материалов. В основном базируется на столбцах и строках.</p>
26 </ol><p>Pandas - инструмент, который используется для грамотной и быстрой визуализации имеющихся материалов. В основном базируется на столбцах и строках.</p>
27 <h2>Типы данных</h2>
27 <h2>Типы данных</h2>
28 <p>Пандас поддерживает три типа данных - одномерные массивы неизменного размера, двумерные табличные структуры и трехмерные массивы.</p>
28 <p>Пандас поддерживает три типа данных - одномерные массивы неизменного размера, двумерные табличные структуры и трехмерные массивы.</p>
29 <p>Наиболее распространенным вариантом является DataFrame. Разработчикам также предстоит часто иметь дело с Series. Эти информационные структуры поддерживают различные операции, реализации которых отнимают минимум времени. Далее предстоит выяснить, как вывести на дисплей устройства столбец таблицы.</p>
29 <p>Наиболее распространенным вариантом является DataFrame. Разработчикам также предстоит часто иметь дело с Series. Эти информационные структуры поддерживают различные операции, реализации которых отнимают минимум времени. Далее предстоит выяснить, как вывести на дисплей устройства столбец таблицы.</p>
30 <h3>Series - описание</h3>
30 <h3>Series - описание</h3>
31 <p>Класс Series - объект, напоминающий одномерный массив. Он включает в себя совершенно любые типы информации. Представляет собой столбец таблицы с некой заданной последовательностью значений. Каждый "пункт" здесь имеет так называемый индекс - строковый номер.</p>
31 <p>Класс Series - объект, напоминающий одномерный массив. Он включает в себя совершенно любые типы информации. Представляет собой столбец таблицы с некой заданной последовательностью значений. Каждый "пункт" здесь имеет так называемый индекс - строковый номер.</p>
32 <p>Выше - фрагмент кода, который демонстрирует создание объекта Series.</p>
32 <p>Выше - фрагмент кода, который демонстрирует создание объекта Series.</p>
33 <p>А вот - результат, который появится на экране. Самый левый столбец - это индексы. Справа от них будут выводиться присвоенные значения.</p>
33 <p>А вот - результат, который появится на экране. Самый левый столбец - это индексы. Справа от них будут выводиться присвоенные значения.</p>
34 <h3>DataFrame - что это</h3>
34 <h3>DataFrame - что это</h3>
35 <p>Dataframe - основной объект в Pandas. Вокруг него строится вся дальнейшая работа модуля. DataFrame представляет собой таблицу с разными типами столбцов. Является стандартным способом хранения информации в электронной форме. Напоминает таблицы SQL, а также Excel и БД.</p>
35 <p>Dataframe - основной объект в Pandas. Вокруг него строится вся дальнейшая работа модуля. DataFrame представляет собой таблицу с разными типами столбцов. Является стандартным способом хранения информации в электронной форме. Напоминает таблицы SQL, а также Excel и БД.</p>
36 <p>Внутри ячеек могут размещать различные данные:</p>
36 <p>Внутри ячеек могут размещать различные данные:</p>
37 <ul><li>булевы;</li>
37 <ul><li>булевы;</li>
38 <li>строки;</li>
38 <li>строки;</li>
39 <li>числа и другие.</li>
39 <li>числа и другие.</li>
40 </ul><p>DataFrame поддерживают индексирование не только столбцов, но и строк. Это помогает сортировать и фильтровать информацию, а также быстро искать те или иные значения.</p>
40 </ul><p>DataFrame поддерживают индексирование не только столбцов, но и строк. Это помогает сортировать и фильтровать информацию, а также быстро искать те или иные значения.</p>
41 <p>Рассматриваемый объект модуля поддерживает как жесткое кодирование, так и импорт информации. Он распознает форматы:</p>
41 <p>Рассматриваемый объект модуля поддерживает как жесткое кодирование, так и импорт информации. Он распознает форматы:</p>
42 <ul><li>таблиц SQL;</li>
42 <ul><li>таблиц SQL;</li>
43 <li>TSV;</li>
43 <li>TSV;</li>
44 <li>таблиц Excel;</li>
44 <li>таблиц Excel;</li>
45 <li>CSV.</li>
45 <li>CSV.</li>
46 </ul><p>Добавить в код DataFrame можно при помощи записи:</p>
46 </ul><p>Добавить в код DataFrame можно при помощи записи:</p>
47 <p>.</p>
47 <p>.</p>
48 <p>В данной форме:</p>
48 <p>В данной форме:</p>
49 <ul><li>data - создает объект из входных данных;</li>
49 <ul><li>data - создает объект из входных данных;</li>
50 <li>index - указывает на строковые метки;</li>
50 <li>index - указывает на строковые метки;</li>
51 <li>columns - имя столбца (подпись);</li>
51 <li>columns - имя столбца (подпись);</li>
52 <li>dtype - ссылка на информационный тип, который содержится в каждом столбце (указывать его не обязательно);</li>
52 <li>dtype - ссылка на информационный тип, который содержится в каждом столбце (указывать его не обязательно);</li>
53 <li>copy - копирование информации.</li>
53 <li>copy - копирование информации.</li>
54 </ul><p>Получить DataFrame можно несколькими способами. Пример - формирование посредством кортежей или списков словарей.</p>
54 </ul><p>Получить DataFrame можно несколькими способами. Пример - формирование посредством кортежей или списков словарей.</p>
55 <p>Этот код выведет на экран такую запись:</p>
55 <p>Этот код выведет на экран такую запись:</p>
56 <p>Принцип работы приведенного примера прост - сначала создается словарь, в него передается в виде аргумента метод DataFrame. Далее присваиваются значения, которые система выводит на печать.</p>
56 <p>Принцип работы приведенного примера прост - сначала создается словарь, в него передается в виде аргумента метод DataFrame. Далее присваиваются значения, которые система выводит на печать.</p>
57 <p>Индексами служит самый левый столбец - это строковые метки. Заголовки и указанные сведения формируют самую таблицу. За счет индексных параметров получается формировать индексированные DataFrames.</p>
57 <p>Индексами служит самый левый столбец - это строковые метки. Заголовки и указанные сведения формируют самую таблицу. За счет индексных параметров получается формировать индексированные DataFrames.</p>
58 <h4><em>Импортирование CSV</em></h4>
58 <h4><em>Импортирование CSV</em></h4>
59 <p>Для формирования DataFrame можно использовать готовый CSV-документ. Импорт из него - распространенный способ создания объекта в Pandas.</p>
59 <p>Для формирования DataFrame можно использовать готовый CSV-документ. Импорт из него - распространенный способ создания объекта в Pandas.</p>
60 <p>CSV - это текстовый файл. В нем записи данных и имеющихся значений производятся в каждой строке. Здесь присутствует разделитель по умолчанию. Это - символ запятой.</p>
60 <p>CSV - это текстовый файл. В нем записи данных и имеющихся значений производятся в каждой строке. Здесь присутствует разделитель по умолчанию. Это - символ запятой.</p>
61 <p>Для считывания CSV-документов в Пандас используется специальный метод - read_csv(). Он поддерживает сразу два параметра:</p>
61 <p>Для считывания CSV-документов в Пандас используется специальный метод - read_csv(). Он поддерживает сразу два параметра:</p>
62 <ol><li>Sep. Устанавливает разделители, используемые во время выгрузки объемов информации. Параметр может быть полезен, если в исходном файле CSV установлены нестандартные разделители: табуляция или точки с запятыми.</li>
62 <ol><li>Sep. Устанавливает разделители, используемые во время выгрузки объемов информации. Параметр может быть полезен, если в исходном файле CSV установлены нестандартные разделители: табуляция или точки с запятыми.</li>
63 <li>Dtype. Позволяет явно указать тип данных, используемых в столбцах. Помогает тогда, когда автоматически определяемый системой тип оказывается неверным.</li>
63 <li>Dtype. Позволяет явно указать тип данных, используемых в столбцах. Помогает тогда, когда автоматически определяемый системой тип оказывается неверным.</li>
64 </ol><p>С формированием DataFrame разобраться удалось. Теперь необходимо выяснить, как добавлять в него столбцы.</p>
64 </ol><p>С формированием DataFrame разобраться удалось. Теперь необходимо выяснить, как добавлять в него столбцы.</p>
65 <h2>Работа со столбцами</h2>
65 <h2>Работа со столбцами</h2>
66 <p>В контексте данных строка - это утверждение или точка информации. Столбцы будут отражать свойства или атрибуты имеющихся утверждений. Простым языком: каждая строчка - это дом. Столбцы будут заключать в себе сведения о строении:</p>
66 <p>В контексте данных строка - это утверждение или точка информации. Столбцы будут отражать свойства или атрибуты имеющихся утверждений. Простым языком: каждая строчка - это дом. Столбцы будут заключать в себе сведения о строении:</p>
67 <ul><li>год постройки;</li>
67 <ul><li>год постройки;</li>
68 <li>стоимость;</li>
68 <li>стоимость;</li>
69 <li>количество комнат;</li>
69 <li>количество комнат;</li>
70 <li>сколько санузлов и спален на территории;</li>
70 <li>сколько санузлов и спален на территории;</li>
71 <li>количество этажей и так далее.</li>
71 <li>количество этажей и так далее.</li>
72 </ul><p>Добавление и удаление столбцов - базовые операции при проведении анализа данных. Далее будут представлены существующие способы обеспечения новых столбцов в DataFrame Pandas.</p>
72 </ul><p>Добавление и удаление столбцов - базовые операции при проведении анализа данных. Далее будут представлены существующие способы обеспечения новых столбцов в DataFrame Pandas.</p>
73 <p>Сначала необходимо создать "базу" - фрейм информации, который будет использоваться в предложенных примерах. Это поможет сделать следующий фрагмент кода:</p>
73 <p>Сначала необходимо создать "базу" - фрейм информации, который будет использоваться в предложенных примерах. Это поможет сделать следующий фрагмент кода:</p>
74 <p>Если запросить вывод результата, на экране появится следующая надпись:</p>
74 <p>Если запросить вывод результата, на экране появится следующая надпись:</p>
75 <p>Все предлагаемые далее примеры будут опираться на соответствующих исходный материал.</p>
75 <p>Все предлагаемые далее примеры будут опираться на соответствующих исходный материал.</p>
76 <h3>Простой подход</h3>
76 <h3>Простой подход</h3>
77 <p>Вот пример элементарного пути создания нового столбца в DataFrame:</p>
77 <p>Вот пример элементарного пути создания нового столбца в DataFrame:</p>
78 <p>Здесь предстоит запомнить следующее:</p>
78 <p>Здесь предстоит запомнить следующее:</p>
79 <ol><li>Названия столбцов указываются подобному тому, как происходит его выбор во фрейме.</li>
79 <ol><li>Названия столбцов указываются подобному тому, как происходит его выбор во фрейме.</li>
80 <li>После этого соответствующему массиву присваиваются значения.</li>
80 <li>После этого соответствующему массиву присваиваются значения.</li>
81 <li>Новый столбец DataFrame выводится последним. Он получает самый высокий индекс.</li>
81 <li>Новый столбец DataFrame выводится последним. Он получает самый высокий индекс.</li>
82 </ol><p>Данный прием позволяет добавить сразу несколько элементов в таблицу. Тогда названия (наименования) необходимо перечислить списком. Значения будут дверными. Это необходимо для совместимости с количеством строк и непосредственными столбцами.</p>
82 </ol><p>Данный прием позволяет добавить сразу несколько элементов в таблицу. Тогда названия (наименования) необходимо перечислить списком. Значения будут дверными. Это необходимо для совместимости с количеством строк и непосредственными столбцами.</p>
83 <p>Вот - наглядный пример добавления трех колонок в уже имеющуюся таблицу Пандас, заполненных случайными числами в пределах от 0 до 10:</p>
83 <p>Вот - наглядный пример добавления трех колонок в уже имеющуюся таблицу Пандас, заполненных случайными числами в пределах от 0 до 10:</p>
84 <p>Если вывести результат на терминал/экран, получится следующая ситуация:</p>
84 <p>Если вывести результат на терминал/экран, получится следующая ситуация:</p>
85 <p>А вот эта запись удаляет колонки из заданного массива:</p>
85 <p>А вот эта запись удаляет колонки из заданного массива:</p>
86 <p>Df.drop ([“1of3”, “2of3”, “3of3”], axis = 1, inplace = true)</p>
86 <p>Df.drop ([“1of3”, “2of3”, “3of3”], axis = 1, inplace = true)</p>
87 <p>Соответствующий фрагмент кода позволит избавиться от элементов, которые ранее решили добавить в исходный пример.</p>
87 <p>Соответствующий фрагмент кода позволит избавиться от элементов, которые ранее решили добавить в исходный пример.</p>
88 <h3>По индексу</h3>
88 <h3>По индексу</h3>
89 <p>Pandas позволит вставить новую колонку в таблицу по заданному индексу. Для настройки расположения необходимо активировать функцию вставки - insert.</p>
89 <p>Pandas позволит вставить новую колонку в таблицу по заданному индексу. Для настройки расположения необходимо активировать функцию вставки - insert.</p>
90 <p> Этот фрагмент кода добавляет одну колонку около A. На экране появится таблица следующего типа:</p>
90 <p> Этот фрагмент кода добавляет одну колонку около A. На экране появится таблица следующего типа:</p>
91 <p>При использовании функций insert необходимо указать три параметра:</p>
91 <p>При использовании функций insert необходимо указать три параметра:</p>
92 <ul><li>индекс;</li>
92 <ul><li>индекс;</li>
93 <li>названия колонок;</li>
93 <li>названия колонок;</li>
94 <li>значения, которые требуется присвоить.</li>
94 <li>значения, которые требуется присвоить.</li>
95 </ul><p>Индексные параметры начинаются с 0, поэтому в предложенном примере стоит 1.</p>
95 </ul><p>Индексные параметры начинаются с 0, поэтому в предложенном примере стоит 1.</p>
96 <h3>Метки</h3>
96 <h3>Метки</h3>
97 <p>Еще один подход - это добавление колонок при помощи меток. За данный прием отвечает функция as loc:</p>
97 <p>Еще один подход - это добавление колонок при помощи меток. За данный прием отвечает функция as loc:</p>
98 <p>Для выбора строк и колонок необходимо указать те или иные метки. Чтобы выбрать все строчки, потребуется поставить двоеточие. Там, где необходимо вставить колонку, указываются метки элементов, которые выбираются. Столбца E в этой таблице Pandas нет. Это приводит к формированию новой колонки.</p>
98 <p>Для выбора строк и колонок необходимо указать те или иные метки. Чтобы выбрать все строчки, потребуется поставить двоеточие. Там, где необходимо вставить колонку, указываются метки элементов, которые выбираются. Столбца E в этой таблице Pandas нет. Это приводит к формированию новой колонки.</p>
99 <h3>Специальная функция</h3>
99 <h3>Специальная функция</h3>
100 <p>Вставить в таблицу DataFrame новую колонку поможет специальная функция. Она называется assign. Реализация выглядит так:</p>
100 <p>Вставить в таблицу DataFrame новую колонку поможет специальная функция. Она называется assign. Реализация выглядит так:</p>
101 <p>В функции assign указываются:</p>
101 <p>В функции assign указываются:</p>
102 <ul><li>имена колонок;</li>
102 <ul><li>имена колонок;</li>
103 <li>какие значения присвоить.</li>
103 <li>какие значения присвоить.</li>
104 </ul><p>Значения будут получены путем использования другой колонки во фрейме. Подобный прием поддерживается и предыдущими концепциями.</p>
104 </ul><p>Значения будут получены путем использования другой колонки во фрейме. Подобный прием поддерживается и предыдущими концепциями.</p>
105 <h4><em>Assign и Insert - разница</em></h4>
105 <h4><em>Assign и Insert - разница</em></h4>
106 <p>Рассматривая вставку колонок в таблицы Пандас, можно пользоваться двумя схожими функциями - assign и insert. Они выполняют одну и ту же операцию, но принцип их реализации значительно отличается друг от друга:</p>
106 <p>Рассматривая вставку колонок в таблицы Пандас, можно пользоваться двумя схожими функциями - assign и insert. Они выполняют одну и ту же операцию, но принцип их реализации значительно отличается друг от друга:</p>
107 <ol><li>Функция вставки (insert) будет работать на месте. Это значит, что все изменения (включая добавление новой колонки) сохранятся во фрейме.</li>
107 <ol><li>Функция вставки (insert) будет работать на месте. Это значит, что все изменения (включая добавление новой колонки) сохранятся во фрейме.</li>
108 <li>Функция назначения (assign) реализовывается иначе. Она будет возвращать измененный фрейм. Исходный объект остается в своем первоначальном виде.</li>
108 <li>Функция назначения (assign) реализовывается иначе. Она будет возвращать измененный фрейм. Исходный объект остается в своем первоначальном виде.</li>
109 </ol><p>При работе с insert изменения будут отображаться на устройстве при обработке имеющегося фрагмента кода по умолчанию. В случае с assign для этого предстоит сначала явно назначить скорректированную таблицу.</p>
109 </ol><p>При работе с insert изменения будут отображаться на устройстве при обработке имеющегося фрагмента кода по умолчанию. В случае с assign для этого предстоит сначала явно назначить скорректированную таблицу.</p>
110 <h3>Удаление</h3>
110 <h3>Удаление</h3>
111 <p>Отдельно стоит рассмотреть удаление колонок. Для этого в Pandas предусматривается метод drop(). Колонки в нем стираются путем удаления элементов с указанными названиями (именами).</p>
111 <p>Отдельно стоит рассмотреть удаление колонок. Для этого в Pandas предусматривается метод drop(). Колонки в нем стираются путем удаления элементов с указанными названиями (именами).</p>
112 <p>Вот - фрагмент кода, который позволит избавиться от колонок. При выводе результата на экран будет видно, что пропущенных пространств нет. Соответствующий значения будут отбрасываться. Связано это с тем, что ось устанавливается на 1. Все изменения проведены в исходном фрейме, из-за того, что inplace = True.</p>
112 <p>Вот - фрагмент кода, который позволит избавиться от колонок. При выводе результата на экран будет видно, что пропущенных пространств нет. Соответствующий значения будут отбрасываться. Связано это с тем, что ось устанавливается на 1. Все изменения проведены в исходном фрейме, из-за того, что inplace = True.</p>
113 <p>Вот так выглядел DataFrame до удаления компонентов:</p>
113 <p>Вот так выглядел DataFrame до удаления компонентов:</p>
114 <p>А вот такой вид он приобрел после обработки заданного кода:</p>
114 <p>А вот такой вид он приобрел после обработки заданного кода:</p>
115 <p>Есть еще одна элементарная операция, с которой должен быть знаком каждый разработчик Python, использующий модуль Pandas.</p>
115 <p>Есть еще одна элементарная операция, с которой должен быть знаком каждый разработчик Python, использующий модуль Pandas.</p>
116 <h3>Выбор</h3>
116 <h3>Выбор</h3>
117 <p>Последнее рассматриваемое действие с DataFrame - это выбор. Доступ к столбцам может быть получен путем их вызова по присвоенным именам:</p>
117 <p>Последнее рассматриваемое действие с DataFrame - это выбор. Доступ к столбцам может быть получен путем их вызова по присвоенным именам:</p>
118 <p>При обработке кода DataFrame на экране появится такая таблица:</p>
118 <p>При обработке кода DataFrame на экране появится такая таблица:</p>
119 <p>Ее первоначальный вид задан так:</p>
119 <p>Ее первоначальный вид задан так:</p>
120 <p>Все представленные операции являются базовыми. Они позволяют работать не только с DataFrame, но и с Series. Использование соответствующих структур будет совпадать.</p>
120 <p>Все представленные операции являются базовыми. Они позволяют работать не только с DataFrame, но и с Series. Использование соответствующих структур будет совпадать.</p>
121 <h2>Быстрое изучение</h2>
121 <h2>Быстрое изучение</h2>
122 <p>Чтобы лучше разобраться с Pandas, а также научиться выполнять операции с различными структурными единицами, рекомендуется закончить специализированные компьютерные дистанционные курсы.</p>
122 <p>Чтобы лучше разобраться с Pandas, а также научиться выполнять операции с различными структурными единицами, рекомендуется закончить специализированные компьютерные дистанционные курсы.</p>
123 <p>На них пользователей научат работать с Pandas и его встроенными возможностями. Можно выбрать сразу одно или несколько направлений по Python, если этого хочет ученик. Все занятия организовываются дистанционно, а пропущенные уроки доступны для просмотра в записи.</p>
123 <p>На них пользователей научат работать с Pandas и его встроенными возможностями. Можно выбрать сразу одно или несколько направлений по Python, если этого хочет ученик. Все занятия организовываются дистанционно, а пропущенные уроки доступны для просмотра в записи.</p>
124 <p>На протяжении всего обучения гарантируется кураторство опытными специалистами, интересная практика, а также домашние задания. В конце будет выдан электронный сертификат, подтверждающий полученные знания по выбранному направлению.</p>
124 <p>На протяжении всего обучения гарантируется кураторство опытными специалистами, интересная практика, а также домашние задания. В конце будет выдан электронный сертификат, подтверждающий полученные знания по выбранному направлению.</p>
125 <p><em>Интересуют курсы по системному анализу и не только? Огромный выбор обучающих онлайн-программ по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
125 <p><em>Интересуют курсы по системному анализу и не только? Огромный выбор обучающих онлайн-программ по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
126  
126