从Python中的计数表的箱形图

时间:2016-08-04 07:35:39

标签: python python-3.x pandas matplotlib ggplot2

我在Python中有一个计数表作为数据框,我想将我的发行版绘制成一个箱形图。 E.g:

df=pandas.DataFrame.from_items([('Quality',[29,30,31,32,33,34,35,36,37,38,39,40]), ('Count', [3,38,512,2646,9523,23151,43140,69250,107597,179374,840596,38243])])

我通过重复我的质量值来解决它。但我认为这不是一个好方法,我的数据框架变得非常大。

在R中有一个衬垫:

ggplot(df, aes(x=1,y=Quality,weight=Count)) + geom_boxplot()

这将输出:!Boxplot from R 1

我的目标是比较不同群体的分布,它应该看起来像this Python也可以像这样解决它吗?

1 个答案:

答案 0 :(得分:1)

你想在这看什么?下面的箱线图将返回下图。

enter image description here

import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline
df=pd.DataFrame.from_items([('Quality',[29,30,31,32,33,34,35,36,37,38,39,40]), ('Count', [3,38,512,2646,9523,23151,43140,69250,107597,179374,840596,38243])])
plt.figure()
df_box = df.boxplot(column='Quality', by='Count',return_type='axes')

如果你想看看你的质量分布加权计数,你可以尝试绘制一个直方图:

plt.figure()
df_hist = plt.hist(df.Quality, bins=10, range=None, normed=False, weights=df.Count)

Histogramme