Я пытаюсь построить гистограмму express с помощью da sh. Я скопировал код из галереи da sh и ввел свои значения: dfs - это фрейм данных панды, а «Kostenartenbeschr», «Wert», «Kostenarten_vereinfacht», «Periode», «EWB» - все столбцы в dfs.
dcc.Graph(figure = px.bar(dfs, x="Kostenartenbeschr", y="Wert",
color="Kostenart_vereinfacht", barmode="group",
facet_row= "EWB",
facet_col= "Periode",
category_orders= {"Periode": dfs["Periode"].drop_duplicates().astype("str"),
"EWB": ["E","W","B","All"] }
)
),
Ошибка:
Traceback (most recent call last):
File "Dashboard.py", line 120, in <module>
"EWB": ["E","W","B","All"] }
File "C:\Users\TO3THY0\AppData\Local\conda\conda\envs\DataScience\Lib\site-packages\plotly\express\_chart_types.py", line 313, in bar
layout_patch=dict(barmode=barmode),
File "C:\Users\TO3THY0\AppData\Local\conda\conda\envs\DataScience\Lib\site-packages\plotly\express\_core.py", line 1332, in make_figure
args, grouper, grouped
File "C:\Users\TO3THY0\AppData\Local\conda\conda\envs\DataScience\Lib\site-packages\plotly\express\_core.py", line 1309, in get_orderings
orders[col].append(val)
File "C:\Users\TO3THY0\AppData\Local\conda\conda\envs\DataScience\Lib\site-packages\pandas\core\series.py", line 1553, in append
verify_integrity=verify_integrity)
File "C:\Users\TO3THY0\AppData\Local\conda\conda\envs\DataScience\Lib\site-packages\pandas\core\reshape\concat.py", line 206, in concat
copy=copy)
File "C:\Users\TO3THY0\AppData\Local\conda\conda\envs\DataScience\Lib\site-packages\pandas\core\reshape\concat.py", line 263, in __init__
raise TypeError("cannot concatenate a non-NDFrame object")
TypeError: cannot concatenate a non-NDFrame object
Я пробовал dfs["EWB"].drop_duplicates().astype(str)
вместо ["E","W","B","All"]
, но это тоже не работает. Что они означают с Non NDFrame? Я знаю, что мой список одномерный, но в документации сказано, что он должен быть списком, или array_like, или столбцом panda df. Спасибо за помощь!
Прошился mcve:
import dash
import dash_core_components as dcc
import dash_html_components as html
import plotly.express as px
import pandas as pd
dfs = pd.read_csv("T_SAP_IST.txt", sep=";", encoding="latin-1", low_memory=False)
app = dash.Dash()
app.layout = html.Div([
dcc.Graph(figure=px.bar(dfs, x="Kostenartenbeschr", y="Wert",
color="Kostenart_vereinfacht", barmode="group",
facet_row= "EWB",
facet_col= "Periode",
category_orders= {"Periode": dfs["Periode"].drop_duplicates().astype("str"),
"EWB": ["E","W","B","All"] }
))
])
app.run_server(debug=True, use_reloader=False)