在破折号中从下拉列表中筛选行后显示数据表

2024-05-13 03:26:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的。我想做一个应用程序,在那里我可以从下拉过滤器中选择值,过滤数据集并显示数据表。我用的是达什表。在

下面是我的应用程序代码示例。不显示数据表。有人知道我做错了什么吗?如何在dash应用程序中呈现仪表板表格?在

import dash
import dash_html_components as html
import dash_core_components as dcc
import dash_table as dt
from dash.dependencies import Input, Output
import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/solar.csv')

app = dash.Dash(__name__)



states = df.State.unique().tolist()

app.layout = html.Div(
    children=[
    dcc.Dropdown(
            id='filter_dropdown',
            options=[{'label':st, 'value':st} for st in states],
            value = states[0]
            ),
    dt.DataTable(id='table-container') ]
)

@app.callback(
    Output('table-container', 'data'),
    [Input('filter_dropdown', 'value') ] )
def display_table(state):
    dff = df[df.State==state]
    return dff

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

顺便问一下,有人知道我在哪里可以找到带有代码的dash app gallery的集合吗?在


Tags: importapp应用程序dfvaluehtmlasdt
1条回答
网友
1楼 · 发布于 2024-05-13 03:26:19

您必须设置数据表的列,并以特殊形式以dict形式返回dataframe。因此,更改代码中的这两行代码以使其正常工作。在

dt.DataTable(id='table-container', columns=[{'id': c, 'name': c} for c in df.columns.values])

return dff.to_dict('records')

BTW, do anyone know where I can find collections of dash app gallery with code?

{a1}有很多例子^是最好的地方。例如,您可以找到数据表there。在

相关问题 更多 >