pandas boxplot:交换框放置以进行比较

pandas boxplot: swap box placement for comparison

tmpdf.boxplot(['original','new'], by = 'by column', ax = ax, sym = '')

给我一个这样的情节

我想比较 "original" 和 "new",如何安排将两个“0”框放在一个面板中,将两个“1”框放在另一个面板中?当然,用那个交换标签。

谢谢

这里有一个示例数据集来演示。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt


# simulate some artificial data
# ==========================================
np.random.seed(0)
df = pd.DataFrame(np.random.rand(10,2), columns=['original', 'new'] )
df['by column'] = pd.Series([0,0,0,0,1,1,1,1,1,1])

# your original plot
ax = df.boxplot(['original', 'new'], by='by column', figsize=(12,6))

要获得所需的输出,请在 boxplot 中显式使用 groupby,以便我们遍历所有子组,并为每个子组绘制一个 boxplot

ax = df[['original', 'new']].groupby(df['by column']).boxplot(figsize=(12,6))