我想根據兩列 groupby 表中的第一列創建條形圖。我通過應用 groupby 創建我想要的表來總結我的資料框。我的 groupby 表目前只有兩列,第一列是類別,第二列是我的資料框中這些類別的計數。我想使用第一列作為 x 軸,然后使用第二列作為 y 軸創建一個帶有 plotly express 的條形圖。但是,當我將 groupby 應用于資料框時,它按照我想要的方式對我的資料進行了分組,但第一列沒有標簽。為了創建條形圖,我需要詳細地告訴 x 軸是什么,但 groupby 表中沒有標簽。
這是我目前為我的 groupby 表所擁有的:
# Selection list
department = df['Provider Type'].unique().tolist()
departments_selection = st.multiselect('Program:',
department,
default=department)
# Filter dataframe based on selection
mask = df['Provider Type'].isin(departments_selection)
number_of_result = df[mask].shape[0]
st.markdown(f'*Available Results: {number_of_result}*')
## Booked
df_grouped = df[mask].groupby(['Provider Type'])['Provider Type'].count()
st.dataframe(df_grouped)
這是輸出,這就是我想要的:

如您所見,第一列沒有標簽,因此在嘗試創建條形圖時我無法參考它。所以當我真的只想使用第一列的類別作為標簽時,我最終得到了一個只有數字作為標簽的條形圖。這就是我所擁有的:
# Bar chart
pie_chart = px.bar(df_grouped,
x="Provider Type",
y='Provider Type',
template='plotly_white')
st.plotly_chart(pie_chart)
這是輸出:

有人可以幫我修復我的 x 軸,以便它顯示像我的 groupby 表中的類別嗎?我只是不確定如何告訴它查找第一列,因為它沒有標簽。
uj5u.com熱心網友回復:
你可以傳遞到px.bar了x說法df_grouped.index。
因為問題中沒有提供資料,所以我無法分組,但是此代碼示例應該向您展示如何修復 x 軸標簽:
import pandas as pd
import plotly.express as px
d = {'Provider Type': [340, 861, 446, 148, 1484, 953, 347, 615]}
index = ['Community Health navigation', 'Dietitian', 'Kinesiology',
'MH Navigation', 'MH Therapist', 'Nursing', 'Pharmacist', 'Specialist']
df = pd.DataFrame(data=d, index=index)
fig = px.bar(df, y='Provider Type', x=df.index)
fig.show()
輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/386212.html
