In [45]: df = pd.DataFrame(np.random.rand(10, 2), columns=["Col1", "Col2"]) In [46]: df["X"] = pd.Series(["A", "A", "A", "A", "A", "B", "B", "B", "B", "B"]) In [47]: plt.figure(); In [48]: bp = df.boxplot(by="X")