Все приготовления были сделаны в предыдущей статье, так что всегда можно вернуться к ней и посмотреть, если вы что-то забыли. Мы же начинаем писать код на языке Python. В каждом языке программирования считается хорошим тоном делать комментарии к коду. В python это можно сделать, поставив символ решетки (Shift + 3), например:

# Делаем первый комментарий

Приведенный выше код не будет выполнен, так как является комментарием и предназначен только для тех, кто будет читать код. Более того, скоро мы его заменим на более значимый комментарий. Но прежде стоит ответить на вопрос: как мы будем писать на языке, который не знаем? Дело в том, что мы будем пользоваться мощью уже написанных библиотек, поэтому больше придется разбираться с библиотеками, чем с языком, хотя кое-что придется запомнить и из python.

Чтобы воспользоваться нужной нам библиотекой нам необходимо её импортировать. Не пугайтесь того, что первое время вам придется запоминать как заклинания, просто повторяйте код:

# Импортируем библиотеки
import pandas as pd
import pandas_datareader as pdr

Вы уже знаете, что находится в первой строке, вторая импортирует библиотеку pandas, к которой можно будет обращаться по псевдониму pd. Что делает третья строка вы можете догадаться по аналогии с предыдущей. Со временем мы узнаем, для чего каждая из этих библиотек нужна.

Теперь научимся выполнять код, для этого достаточно нажать Ctrl+Enter или значок с треугольником слева (только в colab). Если код выполнился без ошибок, то вы увидите зеленую галочку левее значка выполнения. Некоторые модули требуют установки в систему, например, для установки pandas мы можем добавить еще одну ячейку и написать в неё:

!pip install pandas

После успешной установки вы можете выполнить предыдущий код без ошибки. Внимательно смотрите на текст выводимый в ошибке. Например, ошибка говорила о неустановленной библиотеке pandas_datareader, тогда указанная выше команда не решит эту проблему, потому что надо установить другую библиотеку. К сожалению текст ошибок на английском языке, но вы даже не зная его можете догадаться о смысле, если внимательно поглядите на текст ошибки.

Как было уже выше сказано блокнот может быть разбит на ячейки, каждую из которых вы можете выполнять в нужном вам порядке. Добавлять ячейки можно, либо нажав на кнопку "+ Код", либо нажав комбинацию клавиш Ctrl+M, а потом клавишу B (все латинские, регистр не имеет значения). О клавиатурных комбинациях вы можете узнать в меню "Инструменты" пункт "Сочетание клавиш". В новой ячейке введем комментарий, объявим новую переменную и присвоим и присвоим ей значение:

# Объявление переменных
begin_date = '2003-04-15'

Если вы не программировали ни на одном из языков и не знаете что такое переменная, то это именованное место для хранения данных, то есть вместо '2003-04-15' можно использовать begin_date. Переменная потому и называется, что значение можно поменять. Выполним эту ячейку и создадим новую в которой напишем следующее:

# Получение данных с Московской биржи
df = pdr.get_data_moex('USD000UTSTOM', start=begin_date)

Начинается вторая строка с присвоения переменной df (DataFrame) некоторого значения. Ранее при подключении библиотек мы определили псевдоним pdr за библиотекой pandas_datareader, которая позволяет получать биржевые, финансовые и экономические данные с разных источников, в том числе и с Московской биржи с помощью функции get_data_moex. Эта функция в качестве обязательного параметра требует код финансового актива, который мы можем узнать на сайте этой биржи. Там же мы можем дату начала торгов этим инструментом, который подставим в необязательный именованный аргумент start. Этот аргумент передает дату с которой необходимо получить данные. Документацию на эту библиотеку можно посмотреть здесь, правда она на английском языке.

Когда запустите эту ячейку на выполнение, потребуется какое-то время на получение данных. Но в какой виде у нас будут эти данные? В виде датафрейма, определенного в библиотеке pandas. Например, чтобы посмотреть первые пять записей набора данных, мы напишем следующую команду:

# Вывод 5 первых строк
df.head()
Первые пять строк
Первые пять строк

Теперь научимся сохранять результат. Для этой цели мы в прошлой статье подключали диск. Зайдите на ту же вкладку, ниже слова drive увидите название вашего каталога. В моем случае это MyDrive, щелкните правой кнопкой мыши по нему и выберите пункт "Скопировать путь". Создайте новую ячейку, напишите в ней следующий код:

df.to_csv('')

Курсор должен стоять между одинарными кавычками, нажмите клавиатурную комбинацию Ctrl+V, чтобы вставить скопированный путь, добавьте к нему косую черту и имя файла csv. Должно выглядеть как-то так:

df.to_csv('/content/drive/MyDrive/usdrub.csv')

В блокноте от гугла стандартные функции копирования, вставки работают только с помощью клавиатурных комбинаций. Данная функция сохраняет датафрейм в csv-файл. В качестве обязательного аргумента нужно указать полное имя файла. Как вы смогли заметить, гугл использует Linux-машину, поэтому полный путь должен быть записан по правилам Linux, то есть прямой слеш, а не обратный, как в Windows. В следующей статье мы будем загружать данные из этого файла. Вы можете сохранить файл без полного пути, но тогда он не сохраниться между сессиями.

Комментарии (3)


  1. lesskop
    10.04.2022 23:21
    +2

    Ничему вас жизнь не учит...


  1. Jourloy
    11.04.2022 02:11

    Но прежде стоит ответить на вопрос: как мы будем писать на языке, который не знаем?

    Думаю, начинать заниматься Data Scientist на языке, который вы не знаете, это уже плохой знак

    Не пугайтесь того, что первое время вам придется запоминать как заклинания, просто повторяйте код

    Особенно с таким подходом. Перескакивая ступени в изучении языка и программирования в целом, вы упускаете основной пласт знаний. Это проблема как и курсов, так и таких статей. Не думаю, что кому-то нужен сотрудник в data scientist, которому необходимо объяснять что такое комментарий и импорты


  1. Glupix
    11.04.2022 09:18
    +1

    Не очень понятно, в итоге на кого рассчитана эта статья(и предыдущая). У меня сложилось впечатление, что на человека с улицы(поправьте).
    Моя мама, например, как человек который не умеет программировать, вряд ли поймет " гугл использует Linux-машину, поэтому полный путь должен быть записан по правилам Linux, "
    Затем она явно спросит, а что такое датасет, а зачем они нужны, да и миллион других глупых вопросов.


    Кажется идея хорошая, написать (ещё раз) про введении в DS, но не уверен, что в несколько абзацев можно научиться предсказывать котиков на практике человеку с улицы.