2013-12-19 51 views
6

我有一個很大的數據框,我想按某個列進行分組,並用圖形檢查每個組使用boxplot的分佈情況。我發現df.boxplot()會對數據幀的每一列進行處理,並將其放在一個圖中,就像我需要的一樣。按列分組,然後按大熊貓索引做盒子圖

問題是,在groupby操作之後,我的數據全部位於索引中組標籤的一列中,所以我無法在結果上調用boxplot。

這裏有一個例子:

df = DataFrame({'a':rand(10),'b':[x%2 for x in range(10)]}) 
df 

     a b 
0 0.273548 0 
1 0.378765 1 
2 0.190848 0 
3 0.646606 1 
4 0.562591 0 
5 0.409250 1 
6 0.637074 0 
7 0.946864 1 
8 0.203656 0 
9 0.276929 1 

現在我想按列B和箱線圖在一個箱線圖這兩個羣體的分佈。我怎樣才能做到這一點?

回答

12

您可以使用boxplot的參數by。那是你在找什麼?

df.boxplot(column='a', by='b') 
+2

哈哈哈那麼容易... :) – idoda

+0

實測值在[文檔]的'column'(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame描述.boxplot.html)超混淆 - 「* groupby *的任何有效輸入」 - 儘管回頭看過這個答案是有道理的:) – Owen