2016-01-15 68 views
1

我想通過在Seaborn (即媒體,四分位數)中生成的箱線獲取具體的值。例如,在下面的boxplot(來源:link) 有什麼方法可以獲取媒體和四分位數而不是手動估計?在Seaborn boxplot中獲取值

import numpy as np 
import seaborn as sns 
sns.set(style="ticks", palette="muted", color_codes=True) 

# Load the example planets dataset 
planets = sns.load_dataset("planets") 

# Plot the orbital period with horizontal boxes 
ax = sns.boxplot(x="distance", y="method", data=planets, 
      whis=np.inf, color="c") 
+0

嘗試'np.median'? – mwaskom

+0

我試過'np.median(行星)',我得到了一個價值,而不是每個箱子的媒體。我會感謝任何見解。 – Omar

+0

我會熟悉熊貓groupby方法:http://pandas.pydata.org/pandas-docs/stable/groupby.html – mwaskom

回答

0

我鼓勵大家熟悉使用熊貓來從數據框中提取定量信息。舉例來說,你可以很簡單的事情做的就是你正在尋找的值(和其他有用的)是:

planets.groupby("method").distance.describe().unstack() 

它打印有用的值的一個表中的每個方法。

或者,如果你只是想位數:

planets.groupby("method").distance.median() 
+0

嘿@mwaskom。有沒有辦法獲得給定分位數的特定列的值?例如,我的df有一個'ID'列。我可以這樣做''cp.groupby([cp ['issue_date']。dt.month])。describe()。unstack()'並獲得像上面顯示的內容。但是,對於每個組,我希望獲得落在給定分位數中的ID。 – pceccon