Анализ данных на Python в примерах и задачах

Основы синтаксиса и базовые команды

В данной лекции рассматривается процесс первоначальной настройки среды разработки Anaconda для анализа данных на Python. Описан «стопроцентный» способ обновления ядра и пакетов через командную строку Anaconda Prompt. Далее дается практическое руководство по запуску Jupyter Notebook, настройке безопасности (токены и пароли) и основам работы в этой среде. В практической части демонстрируются базовые конструкции Python: переменные, типы данных, списки, строки, словари и операции с ними (индексация, срезы, конкатенация, умножение строк, добавление элементов).

Основные мысли

1. Обновление через Prompt: Если графический интерфейс Anaconda не справляется, нужно использовать Anaconda Prompt  от имени администратора.
2. Разделение команд: Существует разница между conda update conda  (обновление ядра) и conda update anaconda (обновление всех пакетов).
3. Запуск Jupyter: После обновлений запускается Jupyter Notebook. Если браузер не открылся автоматически, нужно вручную перейти на localhost:8890 (порт может отличаться).
4. Безопасность: При первом запуске Jupiter может потребовать ввод токена (найти через jupyter notebook list) и создание пароля.
5. Среда Notebook: Jupyter позволяет выполнять код построчно (Ctrl+Enter), создавать ячейки с кодом или разметкой Markdown, что удобно для анализа данных без написания полноценного приложения.
6. Основы Python:
o Python работает как калькулятор (разделитель — точка).
o Динамическая типизация (тип переменной задается автоматически).
o Строки — это последовательности символов (поддерживают индексацию и срезы).
o Списки могут хранить любые типы данных, включая вложенные списки.
o Словари хранят пары «ключ-значение», где ключом может быть строка.
Показывать лекцию целиком
Краткое изложение

Для лекции используйте файл Seminar_python_libraries.ipynb (необходимо распаковать).

Приложения

Seminar_python_libraries.ipynb
Настройка окружения:
Лектор объясняет, что обновить Anaconda можно через графический интерфейс, но если права учетной записи ограничены, нужно закрыть приложение, найти в меню «Пуск» папку Anaconda и запустить Anaconda Prompt (не PowerShell) от имени администратора.
В консоли выполняются последовательно команды:

1. conda update conda — обновление менеджера пакетов (ядра).
2. conda update anaconda — обновление всех установленных пакетов.
3. Для установки новых библиотек используется pip install <имя_пакета> (например, sympy).

Запуск Jupyter Notebook:
После обновления запускается графический интерфейс. В нем выбирается Jupyter Notebook. Лектор использует Windows 7, где браузер не открывается сам, поэтому он вручную переходит по адресу 127.0.0.1:8890 (localhost). При первом входе требуется токен. Чтобы его узнать, вводится команда jupyter notebook list в командной строке. Токен копируется на страницу входа, затем задается пароль.

Работа в Jupyter:
Создается новый блокнот (Python 3). Интерфейс позволяет:

• Писать код в ячейках (In).
Ctrl+Enter — выполнить текущую ячейку.
Alt+Enter — выполнить ячейку и создать новую снизу.
• Менять тип ячейки с Code на Markdown для форматированного текста и заголовков (символ # для уровня заголовка).

Основы Python (калькулятор и переменные):
• Арифметика: 34, 15 * 10, 0.4 * 10. Вывод: print(переменная).
• Переменные: x = 8.7, x = x * 2 (перезапись).
• Степень: x ** 5 (две звездочки).
• Строки: конкатенация (+), умножение строки на число ("Hi" * 2 = "HiHi").
• Списки: [10, 8, 5]. Метод append() для добавления элементов. Доступ к элементу по индексу (начиная с 0).
• Срезы строк/списков: s[3:7] (с 3-го по 6-й элемент).
• Отрицательные индексы: s[-2] (второй элемент с конца).
• Словари: {"Ivanov": 10, "Smirnov": 8}. Доступ по ключу вместо индекса.
• Преобразование типов: str(число) для конкатенации строки и числа.

Выводы

1. Anaconda Prompt — ключевой инструмент: В ситуациях с ограниченными правами или сбоями GUI командная строка от имени администратора является самым надежным способом управления пакетами.
2. Jupyter Notebook идеален для анализа данных: Его построчный режим выполнения и возможность смешивать код с текстом (Markdown) делают его предпочтительным инструментом для исследовательского анализа по сравнению с написанием монолитного скрипта.
3. Python — язык с гибкой типизацией: В отличие от строгих языков, Python позволяет легко смешивать типы в списках и менять значения переменных без явного объявления типа.
4. Освоение базовых структур критически важно: Понимание различий и методов работы со списками (индексы, срезы) и словарями (пары ключ-значение) является фундаментом для дальнейшего анализа данных и машинного обучения.
5. Контекст выполнения имеет значение: Один и тот же код (например, простое указание имени переменной z) ведет себя по-разному в зависимости от окружения: в Jupyter он выведет значение, в полноценном приложении — нет.

Вопросы для самопроверки

1. Администрирование: В чем разница между командами conda update conda и conda update anaconda? Какую из них нужно выполнять первой?
2. Безопасность: Как найти токен для первого входа в Jupyter Notebook, если браузер не открылся автоматически?
3. Интерфейс Jupyter: Какие клавиши нужно нажать, чтобы выполнить код в текущей ячейке и автоматически перейти к созданию новой ячейки снизу?
4. Синтаксис Python: Чем отличается обращение к элементу по индексу my_list[1] от обращения по ключу my_dict["key"]?
5. Работа со срезами: Дана строка s = "Hello, World!". Что вернет выражение s[-6:-1]? Объясните, почему.
6. Типы данных: Почему в лекции при попытке сложить строку и число (мистер + 8) возникла ошибка, и как ее исправить?
7. Списки: Дан список a = [1, 2, [3, 4]]. Как одной командой извлечь число 4?
8. Динамическая типизация: Почему в Python можно создать список [10, "Привет", True, [1, 2]], в то время как в других языках (например, Java или C++) это часто запрещено?
Вернуться к учебному плану