Как нарисовать график временных рядов по времени и стоимости с помощью Python

Простым способом форматирования объектов вашего домена в JSON является использование сериализатора Маршала . Затем передайте данные в json_encode и отправьте правильный заголовок Content-Type для ваших нужд. Если вы используете фреймворк вроде Symfony, вам не нужно заботиться о настройке заголовков вручную. Там вы можете использовать JsonResponse .

Например, правильный Content-Type для работы с Javascript будет application/javascript.

Или, если вам нужно поддержка некоторых довольно старых браузеров самым безопасным будет text/javascript.

Для всех других целей, таких как мобильное приложение, используйте application/json как Content-Type.

Вот небольшой пример :

 $user->getUsername(),
        'email'    => $user->getEmail(),
        'birthday' => $user->getBirthday()->format('Y-m-d'),
        'followers => count($user->getFollowers()),
    ];
}, $userCollection);

header('Content-Type: application/json');
echo json_encode($data);

0
задан Sandy 31 March 2019 в 02:48
поделиться

1 ответ

Это шаги, чтобы получить решение:

  1. преобразовать значения периода в числа
  2. добавить столбец, где значения являются комбинацией года и периода
  3. построить временной ряд

И это код:

import pandas as pd
from datetime import datetime

df = {0: {"series id":"CUUR0000SA0", "year":2014, "period":"M12", "value":234.812},
        1: {"series id":"CUUR0000SA0", "year":2014, "period":"M11", "value":236.151},
       2: {"series id":"CUUR0000SA0", "year":2014, "period":"M10", "value":237.433},
       3: {"series id":"CUUR0000SA0", "year":2014, "period":"M09", "value":238.031},
       4: {"series id":"CUUR0000SA0", "year":2014, "period":"M08", "value":237.852},
       }

d = {'M01':1,
     'M02':2,
     'M02':3,
     'M04':4,
     'M05':5,
     'M06':6,
     'M07':7,
     'M08':8,
     'M09':9,
    'M10':10,
    'M11':11,
    'M12':12,}

df = pd.DataFrame.from_dict(df, orient="index")
df.period = df.period.map(d)

df['date'] = pd.to_datetime(df.year.astype(str) + '/' + df.period.astype(str) + '/01')

df.plot(x='date', y='value')
0
ответ дан sentence 31 March 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: