2016-08-04 1 views
3

私はPythonのデータフレームとしてカウントテーブルを持っています。私はboxplotとして私の分布をプロットしたいと思います。例:PythonのカウントテーブルのBoxplots

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その1つのライナーで

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

この意志出力:Pythonはそれを解決することができ!Boxplot from R1

が私の目的は、異なるグループの分布を比較することであり、それはthis のようになります。これも好きですか?

+0

'があるように見えますggplot'のpythonのインターフェースですが、同じ構文が使えます:http://ggplot.yhathq.com/ –

+0

私の質問が更新され、それはちょうど良い例です。私はすでにggplotを見たことがありますが、私はたくさんの異なるパッケージを使うことを避けたいと思います。私はpandasとmatplotlibがかなり強力だと思っていましたが、なぜこれらのパッケージ内では不可能なのだろうと思っていました.... – Bamboo

+0

pythonを使って生成された 'boxplot'はRで得られたものと似ていますか?プロットはあなたが与えられたデータのために投稿したイメージと同じでなければならないのですか? –

答えて

0

あなたはここで何を見ようとしていますか?以下のボックスプロットは、次の図を返します。

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') 

あなたはカウントに重み付けを行って品質distibutionを見たい場合は、あなたがhistogrammeをプロットしてみてください:

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

Histogramme

+1

複数のサンプルの分布を比較したいので、私は単一のボックスプロットが必要です。私は自分の質問を更新し、最後に取りたいプロットを追加しました。 – Bamboo

関連する問題