Я новичок в bokeh / pandas и пытаюсь построить линию тренда, используя месяц-год для оси x и целочисленные значения для оси y.
Мои данные выглядят так:
year_month emp_count
0 2015-09 1450425
1 2015-10 3093811
2 2015-11 3316241
3 2015-12 3308658
4 2016-01 3402191
Для построения графика с использованием боке я конвертирую оба столбца в ndarray. Когда я конвертирую столбец год-месяц в ndarray, он показывает каждое значение как период. Я использовал метод to_period ('M'), чтобы получить year_month из столбца даты.
temp_df.year_month.values
>>output
array([Period('2015-09', 'M'), Period('2015-10', 'M'),
Period('2015-11', 'M'), Period('2015-12', 'M'),
Period('2016-01', 'M'), Period('2016-02', 'M'),
Поэтому, когда я строю график, используя эти данные, я получаю следующую ошибку:
TypeError: Объект типа 'Period' не поддерживает сериализацию в формате JSON
Чтобы избежать этой ошибки, я преобразовал тип столбца year_month в строку, но я все еще получаю ту же ошибку. Мой полный код выглядит следующим образом:
temp_df.year_month = temp_df.year_month.astype(str)
output_file('trend1.html')
p = figure(title='Employee trend',
plot_width=800,
plot_height=350,
x_axis_label='Month-Year', y_axis_label='No of Employees',
x_axis_type='datetime')
p.line(x= temp_df.year_month,
y = temp_df.emp_count)
show(p)
Кто-нибудь знает, как изобразить год-месяц по оси абсцисс с помощью боке?