我有一个包含多行和多列的数据集。简化:
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“手术;
有谁可以帮我?
发布于 2020-01-23 22:38:54
您可以这样做,在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.https://stackoverflow.com/questions/59880819
复制相似问题