python中两列相关的多个histograms/bar图表如何做?

How to do multiple histograms/bar charts related to two columns in 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" 手术;

谁能帮帮我?

你可以这样做,获取 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.