Pull to refresh

Получение данных для анализа дилетантом

Reading time3 min
Views3.4K

Все приготовления были сделаны в предыдущей статье, так что всегда можно вернуться к ней и посмотреть, если вы что-то забыли. Мы же начинаем писать код на языке 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. В следующей статье мы будем загружать данные из этого файла. Вы можете сохранить файл без полного пути, но тогда он не сохраниться между сессиями.

Tags:
Hubs:
Total votes 13: ↑3 and ↓10-7
Comments4

Articles