Pandas: how to draw a bar plot with two categories and four series each?
<p>I have the following dataframe, where <code>pd.concat</code> has been used to group the columns:</p>

<pre><code>    a               b            
   C1  C2  C3  C4  C5  C6  C7  C8
0  15  37  17  10   8  11  19  86
1  39  84  11   5   5  13   9  11
2  10  20  30  51  74  62  56  58
3  88   2   1   3   9   6   0  17
4  17  17  32  24  91  45  63  48
</code></pre>

<p>Now I want to draw a bar plot where I only have two categories (<code>a</code> and <code>b</code>), and each category has four bars representing the average of each column. Columns C1 and C5 should have the same color, as should columns C2 and C6, and so forth. </p>

<p><strong>How can I do it with <em>df.plot.bar()?</em></strong></p>

<p>The plot should resemble the following image. Sorry for it being hand-drawn but it was very hard for me to find a relevant example:
<a href="http://i.stack.imgur.com/8I1Z6.jpg" rel="nofollow"><img src="http://i.stack.imgur.com/8I1Z6.jpg" alt="enter image description here"></a></p>

<p><strong>EDIT</strong></p>

<p>This is the header of my actual DataFrame:</p>

<pre><code>    C1  C2  C3  C4  C5  C6  C7  C8
0   34  34  34  34  6   40  13  26
1   19  19  19  19  5   27  12  15
2   100 100 100 100 0   0   0   0
3   0   0   0   0   0   0   0   0
4   100 100 100 100 0   0   0   0
</code></pre>

<p>Try <code>seaborn</code></p>

<pre><code>import seaborn as sns
import pandas as pd

def r(df):
    return df.loc[df.name].reset_index(drop=True)

data = df.mean().groupby(level=0).apply(r) \
         .rename_axis(['grp', 'cat']).reset_index(name='mu')

ax = sns.barplot(x='grp', y='mu', hue='cat', data=data)

ax.legend_.remove()
for i, p in enumerate(ax.patches):
    height = p.get_height()
    ax.text(p.get_x() + .05, height + 1, df.columns.levels[1][i])
</code></pre>

<p><a href="http://i.stack.imgur.com/QPVeu.png" rel="nofollow"><img src="http://i.stack.imgur.com/QPVeu.png" alt="enter image description here"></a></p>

python pandas matplotlib bar-chart categories