Python中计数表的箱线图
在Python中,我有一个计数表作为dataframe,我想将我的分布图绘制为箱线图。例如:Python中计数表的箱线图,python,python-3.x,pandas,matplotlib,ggplot2,Python,Python 3.x,Pandas,Matplotlib,Ggplot2,在Python中,我有一个计数表作为dataframe,我想将我的分布图绘制为箱线图。例如: 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])]) 我通过计数重复我的质量值来“解决”它。但我认为这不是一个好方法,我的数据帧变得非
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()
这将输出:
我的目的是比较不同群体的分布情况
Python也能这样解决它吗?你想看什么?下面的箱线图将返回下图 如果您想查看按计数加权的质量分布,可以尝试绘制历史图:
plt.figure()
df_hist = plt.hist(df.Quality, bins=10, range=None, normed=False, weights=df.Count)
看起来python有一个
ggplot
接口,也许同样的语法也可以:我更新了我的问题并添加了R中的绘图。它现在看起来不是很好,但它只是一个示例。我已经看到了ggplot,但是我想避免使用很多不同的包。我认为pandas和matplotlib非常强大,我想知道为什么在这些包中不可能实现……使用python生成的boxplot
是否与R获得的类似?我的意思是,绘图是否必须与您为给定数据发布的图像相同?如果我用python绘制计数表,并且它假设我的列是独立的。所以它返回一个计数和质量的箱线图,这在我的例子中没有意义。我需要一个箱线图,因为我想比较多个样本的分布。我更新了我的问题,并在最后添加了我想要的情节。
plt.figure()
df_hist = plt.hist(df.Quality, bins=10, range=None, normed=False, weights=df.Count)