It is called a grouped bar chart/clustered bar chart/multi-series bar chart
If I got the gist of what you are saying here is the easiest way to what you want.
Creating the data frames you mentioned:
df1 = pd.DataFrame(np.array([[0, 4, 8], [5, 6, 9], [2, 5, 1]]), columns=['a', 'b', 'c'])
df2 = pd.DataFrame(np.array([[9, 4, 5], [1, 4, 2], [5, 5, 1]]), columns=['a', 'b', 'c'])
Stacking them on top of each other (if the index isn't important use ignore_index=True option in append method):
combined = df1.append(df2)
Since you want to plot the columns you need them as rows first because, by default, DataFrame.plot plots with the rows as the X-axis.
To get them as rows we transpose as follows and that's it.
combined.transpose().plot(kind='bar')
or
combined.T.plot(kind='bar')
Here is the plot:
Cluster bar chart