#python #pandas #pandas-groupby
Вопрос:
Я пытаюсь построить график, который выглядит так
Я попытался использовать это для создания таблицы, но единственная проблема в том, что она форматирует ее как два набора строк вместо двух столбцов.
combinedDf.groupby(['Cluster Label'])['Diagnosis'].value_counts(normalize=True).mul(100).round(1).astype(str) '%'
Я должен сделать это для всех функций в моем наборе данных.
Ответ №1:
Вам следует заглянуть в библиотеку plotly. Вы можете сделать много интересных графиков, используя эту лабораторию.
Я считаю, что нашел простой способ решить вашу проблему.
Учитывая, что фрейм данных выглядит следующим образом :
import plotly.express as px
df = px.data.tips() #this is a dataframe example provide by plotly for us to exercice
print(df)
>>> output:
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4
.. ... ... ... ... ... ... ...
239 29.03 5.92 Male No Sat Dinner 3
240 27.18 2.00 Female Yes Sat Dinner 2
241 22.67 2.00 Male Yes Sat Dinner 2
242 17.82 1.75 Male No Sat Dinner 2
243 18.78 3.00 Female No Thur Dinner 2
Вы можете построить такой график :
С помощью простого кода :
fig = px.histogram(df, x="sex", y="total_bill", color="smoker", barmode="group", histfunc="sum")
fig.show()
В вашем случае вы считаете, что строка кода будет выглядеть так:
рис. = px.гистограмма(df, x=»Диагноз», y=»Процент», цвет=»Показать», barmode=»группа», функция гистограммы=»сумма»)
Извините, но я не совсем понимаю вашу просьбу, поэтому больше ничем не могу вам помочь. Если вы хотите узнать больше о графике, который я отобразил, я настоятельно рекомендую вам взглянуть на это : https://plotly.com/python/bar-charts/