如何在python中创建与两列相关的多个直方图/条形图?

2024-06-16 10:56:38 发布

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

我有一个包含多行和多列的数据集。简化:

A   B   

g   1    
h   2   
h   3   
g   3   
j   4   
g   5 

其中A是手术代码,B是住院时间。因此,每一行对应一个患者

我想对A列和B列进行多个绘图(每个类别一个)。在本例中:

图1:一个图,其中x代表每个接受“g”手术的患者,y代表每个患者的住院时间。所以对于这个图,必须存在3个条,因为有3个患者进行了“g”手术

图2:一个图,其中x代表每个接受“h”手术的患者,y代表每个患者的住院时间。所以对于这个图,必须存在2个条,因为有2个患者进行了“h”手术

图3:一个图,其中x代表每个接受“j”手术的患者,y代表每个患者的住院时间。所以对于这个图,必须存在1个条,因为有1个患者进行了“j”手术

有人能帮我吗


Tags: 数据代码患者绘图时间代表类别手术
1条回答
网友
1楼 · 发布于 2024-06-16 10:56:38

您可以这样做,将pandas中的数据集作为df获取:

>>> import pandas as pd
>>> import matplotlib.pyplot as plt
>>> df = pd.DataFrame({'A':['g', 'h', 'h', 'g', 'j', 'g'], 'B':[1, 2, 3, 3, 4, 5]})
>>> df
   A  B
0  g  1
1  h  2
2  h  3
3  g  3
4  j  4
5  g  5
>>> df.groupby('A').plot(kind = 'bar')
A
g    AxesSubplot(0.125,0.11;0.775x0.77)
h    AxesSubplot(0.125,0.11;0.775x0.77)
j    AxesSubplot(0.125,0.11;0.775x0.77)
dtype: object
>>> plt.show()   #you'll see 3 different figures for that.

相关问题 更多 >