Как создать поворотную таблицу временных рядов из не развернутого плоского файла - PullRequest
0 голосов
/ 07 июля 2019

У меня есть не развернутый плоский файл временного ряда. Он содержит суточную доходность n факторов в течение t дней. В прошлом данные предоставлялись в удобном формате для работы в Excel: факторы по столбцам и даты в строках. Тем не менее, новый «непивотированный» формат в настоящее время находится в производстве, и мне нужно найти решение, чтобы я мог составить график временных рядов доходности факторов.

Формат исходного плоского файла: (только 3 столбца).

factor_name   DailyReturn  Date
factor1         0.0212    yyyymmdd
factor2         0.0472    yyyymmdd
factor n
...

Как часть моего изучения Python и, учитывая, что это выбор языка в фирме ... Я хотел бы сделать это манипулирование файлами в Python.

На выходе должно быть что-то вроде (п

Date        factor1    factor 2  factor n...
yyyymmdd      0.0212   0.0472    -0.0408
etc

Должно быть около n столбцов и тысяч строк, поскольку файл возвращается в долгий путь. Тогда я смогу импортировать это в Excel или построить временные ряды с использованием Python.

1 Ответ

0 голосов
/ 07 июля 2019

-Эй- Раб.Мы могли бы сделать это для вас, но, поскольку вы заинтересованы в обучении, может быть, лучше решить эту проблему и дать вам сначала попробовать.С прагматической точки зрения самый быстрый способ - загрузить этот файл в Excel и перенести туда.Но программирование тоже весело!

Первый шаг - загрузка данных, так что гуглите "файл загрузки Python".

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

Прокрутите каждую строку и разбейте строку.Google "Python Split String".

После разделения строки найдите дату строки во внешнем словаре.Если он не существует, добавьте новую запись с внутренним словарем: outerdict [date] = dict ().Затем вы можете вставить свой фактор в этот внутренний словарь.externaldict [дата] [фактор] = ежедневный возврат.

Последний шаг - вывод в CSV.Вы хотите использовать пакет CSV для этого.Google "Python CSV".Вы переберите все ключи и значения во внешнем словаре, который даст вам дату в качестве ключа.Google "словарь петель Python".Во внутреннем словаре есть ваши факторы, которые вы также можете циклически проходить, ключом является имя фактора, а значением - ежедневный доход.

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

Я поместил это здесь в качестве ответа, потому что это слишком много текста, чтобы поместить в комментарии.Но мы можем исправить это позже, если потребуется.

Если вы хотите делать больше вещей в python с загруженными данными, просто используйте словари, которые мы создали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...