Я тренируюсь с Bokeh, но все равно не получаю, я получаю данные из файла xls, затем данные фильтруются и группируются по полу (женский и мужской).
Cantidad
Sexo
FEMENINO 123
MASCULINO 352
это выводкогда я печатаю столбцы, с которыми я буду работать:
print df = df[['Sexo','Movil Victima','Cantidad']]
Sexo Movil Victima Cantidad
1 MASCULINO MOTO 1
2 FEMENINO MOTO 1
3 MASCULINO A PIE 1
4 MASCULINO MOTO 1
5 FEMENINO A PIE 1
6 MASCULINO A PIE 1
7 FEMENINO A PIE 1
8 FEMENINO A PIE 1
9 MASCULINO A PIE 1
10 FEMENINO A PIE 1
11 FEMENINO A PIE 1
12 MASCULINO BICICLETA 1
13 FEMENINO A PIE 1
и это мой код:
import pandas as pd
from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource
from bokeh.palettes import Spectral3
output_file('stackedBar-Sexo_tipoMovil.html')
df = pd.read_excel(r'C:\Users\cisco\Desktop\ProyectoV\transito\homicidios-accidentes-transito-2018_1.xls')
filter = df['Sexo'].isin(('MASCULINO','FEMENINO'))
df = df[filter]
grouped = df.groupby('Sexo')['Cantidad', 'Movil Victima', 'Profesion'].sum()
print(df)
source = ColumnDataSource(grouped)
countries = source.data['Sexo'].tolist()
p = figure(x_range=countries)
p.vbar_stack(stackers=['Movil Victima'], x='Sexo', source=source, legend = ['Movil Victima'], width=0.5, color=Spectral3)
p.title.text ='Muertes Genero por Tipo Movil'
p.legend.location = 'top_left'
p.xaxis.axis_label = 'Sexo'
p.xgrid.grid_line_color = None #remove the x grid lines
p.yaxis.axis_label = 'Cantidad'
show(p)
В выводе выводится сообщение об ошибке в строке 23:
p.vbar_stack(stackers=['Movil Victima'], x='Sexo', source=source, legend = ['Movil Victima'], width=0.5, color=Spectral3)
Ошибка:
_stack
raise ValueError("Keyword argument sequences for broadcasting must all be the same lengths. Got lengths: %r" % sorted(list(lengths)))
ValueError: Keyword argument sequences for broadcasting must all be the same lengths. Got lengths: [1, 3].
Что это за ошибка?я не могу видеть этоСпасибо.