这是我的数据框的样子:

      PART  METHOD  J    P         AVG         STD
0       1   meth1   3   50      0.914482    0.007398
1       1   meth2   3   50      0.925134    0.005738
...    ...  ...     ... ...        ...         ...
190     4   meth4   7   150     0.913014    0.006144
191     4   meth4   7   200     0.914199    0.002962

我想使用AVG和STD列(平均值和标准偏差)显示带有 Pandas 的Boxplot,而我不知道如何开始。

例如,我想通过箱线图比较PART = 1,J = 3和P = 50的四种方法,以查看这些值是否兼容(相似)。

我很迷茫,有什么指导吗?

编辑:下图显示了我想要的。其中A,B,C和D是方法,并且每个框都是由AVG的值结合de STD来创建的,其中PART = 1,J = 3,P = 50。

python - 带有Python Pandas 的Boxplot-LMLPHP

最佳答案

您可以过滤数据框并使用参数by创建框线图。

filtered_df = df[(df['PART'] == 1) & (df['J'] == 3) & (df['P'] == 50)]
filtered_df.boxplot(column = 'AVG', by = 'METHOD', patch_artist = True)

对于以下示例df
df = pd.DataFrame({'PART':np.random.randint(1,4,10000), 'METHOD':np.random.choice(list('ABCD'), 10000), 'J':np.random.randint(3,7, 10000), 'P':np.random.randint(50,100, 10000),'AVG':np.random.randn(10000),'STD':np.random.randn(10000)})

你得到

python - 带有Python Pandas 的Boxplot-LMLPHP

关于python - 带有Python Pandas 的Boxplot,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53767621/

10-12 21:52