堆积的条形图与熊猫

时间:2018-07-30 13:33:09

标签: python pandas jupyter-notebook

我是编程/熊猫的初学者,因此,我希望这个问题仍然可以。我确实需要弄清楚如何绘制医学博士学位论文的基本数据。

我所拥有的:

1)具有不同方向的医学专家的专栏,例如内科,外科等。它们在该列中以1-20的数字列出。 1)='特色' 2)第28天的患者结果:0 =死亡,1 =存活,在该列中仅列出0和1 2)='status_d28'

我需要什么:

x轴上列出1)的堆叠条形图 y轴显示的是a)在第28天死亡并堆积在b)在第28天还活着的人从每种医学学科收治的患者总数。

最后,我将需要两个图:一幅如上所述,y轴为患者总数,第二幅为y轴,占总数的百分比,例如,在第28天存活的所有患者中有20%入院接受普外科手术,除了在第28天死亡的所有患者中,有5%如此。

对于非常基本和不专业的方法感到抱歉。我只是开始讨论这个问题,在开始这一问题时遇到了问题。我添加了一个图像,以更好地理解。预先非常感谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果df是您的数据框,列是01

counts = df.groupby([0,1]).size().unstack()

# you could join in the bar labels here, for example:
# labels = pd.Series({1: "Internal Medicine", 2: "ENT Physicians", 3: "General Surgery"})
# counts = counts.join(labels.to_frame("label"))
# counts["label"] = counts["label"].fillna(counts.index)
# counts = counts.set_index("label")

# absolute numbers
counts.plot(kind="bar", stacked=True)

# percents
(counts / counts.sum()).plot(kind="bar", stacked=True)