Pandas 遍历列表并生成分组箱线图

Pandas 遍历列表并生成分组箱线图,pandas,boxplot,Pandas,Boxplot,我有一个DataFrame,希望为具有特定标签的数据选择创建分组箱线图(列出箱线图)。箱线图应显示值,并添加一条线,显示每组箱线图中值的平均值 import pandas as pd import numpy as np df = pd.DataFrame(np.random.randint(0,30,size=(100, 4)), columns=list('ABCD')) label = ['A','B','C','D','E','F'] df['label'] = np.random.ch

我有一个DataFrame,希望为具有特定标签的数据选择创建分组箱线图(列出箱线图)。箱线图应显示值,并添加一条线,显示每组箱线图中值的平均值

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,30,size=(100, 4)), columns=list('ABCD'))
label = ['A','B','C','D','E','F']
df['label'] = np.random.choice(label, df.shape[0])
boxplots = ['A', 'D']
我真的不知道如何制作分组箱线图?我是否遍历boxplots列表,然后在每次迭代中将它们添加到绘图中


任何想法都非常感谢

使用
isin
groupby

df_selection = df[df['label'].isin(boxplots)]

df_sum = df_selection.groupby('label').sum()
df_mean = df_sum.mean(axis=1)
line_data = [(i-.3, i+.3, value) for i, (label, value) in enumerate(df_mean.iteritems()) ]
x_min, x_max, y = zip(*line_data)

ax = df_sum.plot.bar()
ax = ax.hlines(y, x_min, x_max, linewidth=2, color='k')

刚刚意识到:我犯了一个错误:我的意思是条形图不是方框图。您可以编辑您的问题。行,尽管我遇到了一个未定义的线对错误。我能把它做完!谢谢!