在python中为多个子类别绘制多个直方图

时间:2019-10-01 14:19:47

标签: python pandas numpy dataframe matplotlib

我有一个像这样的数据集,

col1   col2
A        5
A        7
A        1
A        6
B        2
B        9
B        8
...
Z        4

我试图绘制多个直方图,以查看col1中每个子类别的分布。

此外,如果我只想选择python中最常见的10个子类别,该怎么做? 例如,我可以使用value_counts()来计算每个子类别的金额。

1 个答案:

答案 0 :(得分:1)

您可以使用GroupBy.size对值进行排序,然后选择第一个n。和用户索引以绘制仅包含上述组的直方图:

ix = df.groupby('col1').size().sort_values(ascending=False).head(2).index
df[df.col1.isin(ix)].groupby('col1').hist()