Ошибка обратного вызова в Дашборде

Пытаюсь настроить график так, чтобы можно было выбирать группы людей (представленные в столбцах данных) в строке меню, то есть фильтровать по ним. Но получаю такое введите сюда описание изображения

Не могу понять, в чем ошибка. Данные здесь https://docs.google.com/spreadsheets/d/1hJSCNI0JtkZcoGXtyr9eE872Knxsawh7szHa3nOwJAs/edit?usp=sharing

import dash
import plotly.graph_objs as go
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import os
import numpy as np
from dash.dependencies import Output, Input

external_stylesheets = [
    {
        "href": "mystyle.css"
        "family=Lato:wght@400;700&display=swap",
        "rel": "stylesheet",
    },
]
data = pd.read_excel("Dash.xlsx", sheet_name='Лист1')
col_list = data.columns[1:6]


app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div(
    children=[
        html.Div(
            children=[
                html.P(children="?‍?", className="header-emoji"),
                html.H1(
                    children="Анализ результатов", className="header-title"
                ),
                html.P(
                    children="Цели анализа:",
                    className="header-description",
                ),
                html.P(
                    children="1. Выявить группы",
                    className="header-description1",
                ),
                html.P(
                    children="2. Проанализировать особенности",
                    className="header-description2",
                ),
            ],
            className="header",
        ),
        html.Div(
            children=[
                html.Div(
                    children=[
                        html.Div(children="Кластер", className="menu-title"),
                        dcc.Dropdown(
                            id="name-filter",
                            options = [
                            {'label': i, 'value': i}
                                for i in col_list],
                            value=col_list[0],

                            clearable=False,
                            className="dropdown",
                        ),
                    ]
                ),

            ],
            className="menu",
        ),
        html.Div(
            children=[

                html.Div(
                    children=dcc.Graph(
                        id="efficiency_chart", config={"displayModeBar": False},
                    ),
                    className="card",
                    style={'width': '100%', 'hight': '60%', 'float': 'center', 'display': 'inline-block'},
        ),


            ],

            className="wrapper",
        ),
    ]
)


@app.callback(
    [ Output("efficiency_chart", "figure")],
    [Input("name-filter", "value")],
)
def update_charts(selected_col):
    if selected_col is None:
        selected_col = col_list[0]
    efficiency = {
        'data': [go.Scatter(
            x=data['names'],
            y=data[selected_col],
            mode='lines + markers',
            marker={
                'size': 15,
                'opacity': 0.5,
                'line': {'width': 0.5, 'color': '#00788C'}
            }
        )],
    }
    return efficiency



if __name__ == "__main__":
    app.run_server(debug=True)

Ответы (0 шт):