一、先上图
![在这里插入图片描述](https://img-blog.csdnimg.cn/73b1c05c425d46b1aefb855bfb825949.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5aSn6Jm-6aOe5ZOl5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
二、程序
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
if __name__ == '__main__':
a_pd = pd.DataFrame({'A': [1, 2, 3], "B": [0, 6, 5]})
b_pd = pd.DataFrame({'A': [1, 2, 2], "B": [4, 6, 5]})
new_pd = pd.concat([a_pd, b_pd], keys=('df1', 'df2'))
print(new_pd)
"stack: 行转列,由DataFrame转化为Series"
new_pd = new_pd.stack()
print(new_pd)
"加入列名"
new_pd = new_pd.rename_axis(index=['dataset', 'nan', 'Data Size'])
print(new_pd)
"由Series转化为DataFrame"
new_pd = new_pd.reset_index(level=[0, 2], name='value')
print(new_pd)
ax = sns.boxplot(data=new_pd, x='Data Size', hue='dataset', y='value')
ax.xaxis.label.set_visible(False)
ax.yaxis.label.set_visible(False)
plt.show()